我有一个我无法编辑的静态 html 页面——它确实引用了一个 js 文件,所以我所做的就是将我的 IIS 服务器上的那个 url 请求重定向到我的 js 文件——我在其中动态注入 jQuery 以便我可以使用它。这是我用来插入 jQuery 的代码:
var script = document.createElement( 'script' );
script.src = 'http://code.jquery.com/jquery-1.9.1.js';
script.type = 'text/javascript';
script.onload = jqueryReady; //most browsers
script.onreadystatechange = function () { //ie
if ( this.readyState == 'complete' ) {
jqueryReady();
}
};
这很好用,除非在一种特定情况下——如果我在浏览器是 IE 并且页面正在从内部 Web 服务器提供服务时在页面上调用 history.go()。按 F5 也不会正确重新加载页面。我必须将光标放在地址栏中并按回车键才能正确加载。
编辑:忘了提到显而易见的 - 我在 jqueryReady() 函数中有一个断点 - 它永远不会被击中 - 这就是问题所在......
如果我向上提供页面然后触发 history.go() (单击按钮),它在我的开发环境中的 IE 工作正常。它适用于chrome,尚未测试Firefox。
那么是否有替代 history.go() 来触发“真实”页面重新加载的方法,就像在地址栏中点击输入一样?
这也是一个巨大的页面——6000 行 html(不是我写的)和 jQuery 以及所有的 javascript 都加载在头部——我知道你应该在页面末尾加载 js 内容。也许这是相关的?感觉是时间问题。。。
有人对要检查/尝试的事情有任何想法吗?或者知道发生了什么?