ajax中指定innerHTML时如何应用其中的SCRIPT的研究

其实这篇文章与ajax无关,但因为是ajax项目中遇到的问题.所以.... innerHTML赋值操作时,其中的script并不会被运行,可以使用正则表达式提取script,然后eval(script);

示例代码

<html>

<head>

<script type="text/javascript">

<!--

function load1(){

var Content= document.getElementById("Content");

alert("load1");

}

function load2(){

var Content= document.getElementById("Content");

Content.innerHTML="load2:<script>load1();<\/script>";

}

function load3(){

var Content= document.getElementById("Content");

//为什么要Javascript必须在有效的Text标签之后,又要谈到JS在IE和FireFox中的区别了.在script脚本块

//之前如果没有有效的Text标签,IE就会出错.但FireFox可以正常运行,神啊,救救IE吧

var str="<a>Javascript必须在有效的Text标签之后</a><script type=\"text/javascript\">load1();<\/script>";

Content.innerHTML=str;

var regExp=/<script.*>(.*)<\/script>/gi;

if(regExp.test(Content.innerHTML)){

eval(RegExp.$1);

}

////以下代码是为了匹配多个脚本块而设置的,但是非常不幸的是不能运用在IE中

////只能运行于FireFox,因为够用了,所以没有写下去有兴趣的可以完成它,偶JS没学好呀

//var matchArray=str.match(regExp);

//if(matchArray){

//    for(var i=0;i<matchArray.length;i++){

//        if(regExp.test(matchArray[i])){

//            alert(RegExp.$1);

//        }

//        else{

//          alert(matchArray[i]);

//        }

//    }

//}

}

//-->

</script>

</head>

<body>

<div id="Content">

</div>

<input type="button" onclick="javascript:load1();" value="load1"/>

<input type="button" onclick="javascript:load2();" value="load2"/>

<input type="button" onclick="javascript:load3();" value="load3"/>

</body>

</html>

[说明]

load1

当然可以正常运行

load2中

Content.innerHTML赋值时,其中的Script并不会被运行

load3中

取得innerHTML中的脚本块出来,并eval之,方可正常运行

也许谁还有更好的办法,please mail to me blackant@tt88.cn

时间: 2024-10-16 14:25:23

ajax中指定innerHTML时如何应用其中的SCRIPT的研究的相关文章

ajax中指定innerHTML时如何应用其中的SCRIPT的研究_AJAX相关

其实这篇文章与ajax无关,但因为是ajax项目中遇到的问题.所以.... innerHTML赋值操作时,其中的script并不会被运行,可以使用正则表达式提取script,然后eval(script); 示例代码  <html> <head> <script type="text/javascript"> <!-- function load1(){ var Content= document.getElementById("Con

ajax中指定innerHTML时如何应用其中的SCRIPT

ajax 其实这篇文章与ajax无关,但因为是ajax项目中遇到的问题.所以.... innerHTML赋值操作时,其中的script并不会被运行,可以使用正则表达式提取script,然后eval(script); 示例代码 <html><head><script type="text/javascript"><!--function load1(){var Content= document.getElementById("Cont

如何用js查找一段文字中指定文字出现次数

 源程序: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">        <html xmlns="http://www.w3.org/1999/xhtml">    <head>        <title&g

ajax中如何实现innerHTML中javascript的运行

ajax|javascript 在参考前人的一些做法后,采用了一些变通方式,和添加一些额外标记,来较好的实现innerHTML中javascript的运行,从而使的页面各个模块间更 好的交互,和数据共享. 先看下面的例子: <html><head></head><script> var title = "hello"; var time = 0; var author = "vickenyang"; var email

使用Jquery应用到Asp.net ajax中时应该避免的3个误区

Ajax中使用json这个轻量级数据类型通信的好处相信大家已经很清楚,考虑到安全问题,Asp.net Ajax的webService使用json,应该防止Json Hijacking.因此通常我们的做法是在使用Post请求式,并将 请求的content-type设置成application/json; charset=utf-8.但客户端如果你使用的是Jquery,有三 个细节问题是我们应该注意的: 1 :如果我们Post时没有任何数据传给服务端,请指定Data:{} 如: Code 1 $.a

JS使用ajax方法获取指定url的head信息中指定字段值的方法

 这篇文章主要介绍了JS使用ajax方法获取指定url的head信息中指定字段值的方法,实例分析了Ajax操作URL中head信息的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS使用ajax方法获取指定url的head信息中指定字段值的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码用来获取ajax_info.txt的head信息中的Last modified属性,最后修改时间 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1

JS使用ajax方法获取指定url的head信息中指定字段值的方法_javascript技巧

本文实例讲述了JS使用ajax方法获取指定url的head信息中指定字段值的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码用来获取ajax_info.txt的head信息中的Last modified属性,最后修改时间 <!DOCTYPE html> <html> <head> <script> function loadXMLDoc(url) { var xmlhttp; if (window.XMLHttpRequest) {// code

asp.net中当服务器出错时显示指定的错误页面,同时把错误信息写入系统日志文件的探讨

asp.net|错误|服务器|显示|页面 asp.net中当服务器出错时显示指定的错误页面同时把错误信息写入系统日志文件的探讨 一,在Web.config中填写出错时显示的页面,可以根据不同的statusCode显示不同的出错页面.   <customErrors mode="On"  //如果设置为Off则出错只返回错误信息,不会跳到自己的指定页面defaultRedirect="/error/customerrorpage.aspx">    <

编程-VFP 更新表数据时自动把系统时间写入表中指定一列插入 如何实现自动写入数据

问题描述 VFP 更新表数据时自动把系统时间写入表中指定一列插入 如何实现自动写入数据 VFP编程 现有 成绩 用户 两表 成绩表 三列 成绩 修改时间 用户 用户表 两列 用户名 密码 其中插入与更新成绩后,自动提取系统时间 写入 "修改时间列"( 包含年月日的时间 ) 并且根据系统登录的用户,将用户名写入成绩表 用户列 修改时间以及 用户 这两列只能通过程序自动写入 不可以人为写入 现有两表 教师 用户 如何实现插入教师表中教师号一列的数据后 自动将数据插入到用户表中 用户名列 用