我有一个页面,正在加载另一个网址(在同一域中)的内容,例如
$("#preloaded_main_page").load('main/');
现在,由于页面中的一些脚本,当前页面被重定向到我想阻止的domain.com/main。我想做的只是加载内容和图像。请注意,我正在加载的 div 是隐藏的。我只想缓存一些元素。
我尝试过:
$("#preloaded_main_page").unbind().load('main/', function() {
$("#preloaded_main_page *").unbind('click');
$(window).unbind('hashchange');
});
但没有效果。有人可以帮我解决这个问题吗?
最佳答案
我看不出加载将如何执行位置更改。您可以按照我的几个步骤来调试正在发生的情况。希望对您有所帮助。
- 注释掉您的代码并确保网站的其他部分没有执行重定向。
确保您尝试加载的主页上没有运行任何脚本标记。为什么?因为 text/html MIME 类型上的脚本标记会被评估并执行。
尝试在 .load 方法上使用标准 $.ajax:
$(文档).ready(function () { $.ajax({ 类型:'获取', 数据类型:'文本/html', 缓存:假, 网址: '/main', 成功:函数(数据){ if(data != '') $('#preloaded_main_page').html(data); } }); });
代码标签似乎不起作用。所以你需要自己进行换行:)
-
如果页面上有任何其他脚本进行重定向,您需要指定一个全局变量,以确保它仅在内容加载后而不是同时进行重定向。如果是这样的话。
关于javascript - 防止通过 jquery.load() 加载时重定向脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12795661/