建议您尝试进行以下 *** 作:
1、清除一下IE浏览器的缓存,点IE上的工具——然后再选择最下面的Internet选项,再点Internet删除文件(记得勾上删除所有脱机内容),确定后再重新打开IE浏览器试试,同时请确认您使用的是IE6.0及以上版本。
2、您的网页上清缓存,在网页上选择工具->Interner选项->删除Cookies和删除文件,然后再确定。
3、请您点击IE浏览器中的“工具”,选择“internet选项”,进入“安全”页面,点击“自定义级别”,将您的安全设置设为“低”。
4、清空一下IE浏览器的cookies文件,在IE浏览器中设置“禁止自动脚本更新”,并不要选择“禁止运行ActiveX控件”,然后再尝试 *** 作。
也可以尝试重新注册下IE的组件,方法如下:
IE提示脚本错误解决方法:
1、点击“开始”菜单,打开“运行”。
第二、输入regsvr32 jscript.dll后选择“确定”。
出现提示后,点击确定。
第三、再次输入regsvr32 vbscript.dll选择“确定”。
再一次出现提示后,确定。
有时候,脚本错误也可以是你的浏览器本身有问题导致,尝试修复你的浏览器,可以使用如黄山IE修复专家,超级兔子等第三方软件对IE进行修复也可以解决问题。
脚本script是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。各类脚本目前被广泛地应用于网页设计中,因为脚本不仅可以减小网页的规模和提高网页浏览速度,而且可以丰富网页的表现,如动画、声音等。如果在脚本中加入一些破坏计算机系统的命令,这样当用户浏览网页时,一旦调用这类脚本,便会使用户的系统受到攻击。所以用户应根据对所访问网页的信任程度选择安全等级,特别是对于那些本身内容就非法的网页,更不要轻易允许使用脚本。通过“安全设置”对话框,选择“脚本”选项下的各种设置就可以轻松实现对脚本的禁用和启用。
你描述的比较乱,不过我大概能理解你的意思。
因为没有具体的代码,所以也只能说说思路。
按我的理解,重新描述你现在的问题是:
通过模板渲染,或者 ajax 异步载入的 html 内容,会通过 innerHTML 或者一定的 DOM *** 作,插入到文档中。你希望在这段文档碎片插入后,执行一些脚本。但是遇到的问题是:插入的脚本无法执行。
那么我的建议的解决方法有以下几种:
1、第一种方法,通过设置定时检查,来判断内容是否完成载入。
在 {{data.content}} 中放一个 “标识”。例如:
<!-- 你正常的 content 内容 --><p>。。。。。</p>
<!-- 特殊的标识 -->
<span id="a_special_id"></span>
然后在整个页面的脚本中,加一个定时检查器 (下面代码放在整个页面的 head 里):
var flag = false // 一个状态标记,记录需要进行的脚本是否执行过// 用来检查的函数
function check(){
// 如果脚本已执行过,则退出,避免重复执行。
if (flag) return
// 尝试获取 {{data.content}} 中的 “标识”
var obj = document.getElementById('a_special_id')
// 如果获取成功,说明代码已经完成载入
if (obj) {
// 这里放上你想要进行的 *** 作,例如你问题中的:
jQuery(document).ready(function() {
jQuery('.media-frame-content').css("height",winheight)
})
// 设置状态标记,避免脚本重复执行
flag = true
} else {
// 如果代码没有完成载入
// 设置定时器,过一段时间再次检查
setTimeout(check, 100)
}
}
// 开始检查
check()
2、 第二种方法,是针对为什么插入的脚本不能执行来解决的。
一般来说,通过 innerHTML 或者 DOM 方法插入的 script 脚本都不能正常执行。
那么应该在你的模板解析函数中,进行一定的判断处理。
例如 ajax 获得服务器返回的数据后,检查有无 script 块,如果有,则提取其内容,并通过 eval 来执行。
示例代码:
// 伪代码,假设下面是一个通过 ajax 获取 get.php 页面得到返回数据的模式$.ajax('get.php', function(data){
var reg = /<script>([\s\S]+)<\/script>/i // 正则
var sc
if (reg.test(data)) {
sc = data.match(reg)[1] // 提取脚本
data = data.replace(reg, '') // 移除脚本
}
container.innerHTML = data // 将 html 内容输出到当前页面
if (sc) eval(sc) // 如果有脚本,则执行脚本
})
以上,请采纳,请给分。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)