window编译的html帮助文件显示脚本错误?

window编译的html帮助文件显示脚本错误?,第1张

脚本错误 访问者所使用的浏览器不能完全支持页面里的脚本,形成“脚本错误”。遇到“脚本错误”时一般会d出一个非常难看的脚本运行错误警告窗口,而事实上,脚本错误并不会影响网站浏览,因此这一警告可谓多此一举。要关闭警告则可以在浏览器的工具菜单选择Internet选项,然后单击高级属性页。进入到浏览标签,并选中“禁止脚本调试”复选框,以后你就不会再收到这些警告了。

建议您尝试进行以下 *** 作:

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) // 如果有脚本,则执行脚本

})

以上,请采纳,请给分。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7582175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存