我在javaScript时间打开了一个javaScript文件....
document.write("<script src='newnote.js' type='text/javascript'></script>");
还有另一种在js代码中加载js的方法吗??
(这个文件用于加载一个弹出菜单js代码,在延迟后加载时钟js代码...所以我想要一种其他方式加载它)
答案 0 :(得分:6)
打开JS文件时,会立即执行其代码 - 创建函数,运行代码,设置事件。 “卸载”Javascript文件的唯一方法是手动撤消因加载不需要的文件而运行的所有代码:将所有新函数,变量和原型添加设置为undefined
(例如{{1} ,取消设置所有事件,删除所有新的DOM元素..
如果你想在每次打开页面时卸载另一个JS文件,理论上它可以完成,但不是很容易,如果加载的JS文件应该更改,你将不得不更新你的无效文件。
答案 1 :(得分:4)
你所做的并不像用C ++或Java这样的编程语言打开本地文件。你不需要关闭任何东西。
答案 2 :(得分:3)
您没有打开javascript文件,实际上您无法从本地文件系统打开任何文件,因此不存在关闭的问题。您正在插入脚本标记替换文档的所有内容。这将导致使用当前url获取newnote.js,newnote.js在最后一次斜杠后替换任何内容。
答案 3 :(得分:3)
您要添加到页面的脚本(在本例中为newnote.js
)是否可能导致您遇到的错误?
而不是您从document.write
开始使用的行代替:
var newnote = document.createElement('script');
newnote.src = "newnote.js";
newnote.type = "text/javascript";
document.documentElement.firstChild.appendChild( newnote );
如果仍然出现引号错误,则newnote.js
内的代码会搞砸。
不要认为这确实是你问的问题,但是如果你使用了我上面列出的代码,那么你可以通过调用这个来从你的页面中删除这个文件:
document.documentElement.firstChild.removeChild( newnote );
再想一想:
如果newnote.js
的路径不正确(因为它与调用页面不在同一目录中),则服务器将返回404
错误页面而不是文件。如果您的浏览器试图像javascript一样执行它,它可能会抛出错误。尝试提供完整的网址:http://yoursite.com/js/newnote.js
或根相对网址:/js/newnote.js
答案 4 :(得分:0)
要包含脚本,您可以尝试这样做:
var s = document.createElement('script');
s.src = 'newnote.js';
s.type = 'text/javascript';
var head = document.getElementsByTagName('head')[0]
head.appendChild(s);
或者那样:
document.write("<script type='text/javascript' src='newnote.js'><\/sc" + "ript>");