javascript - 防止通过 jquery.load() 加载时重定向脚本

标签 javascript jquery jquery-load

我有一个页面,正在加载另一个网址(在同一域中)的内容,例如

$("#preloaded_main_page").load('main/');

现在,由于页面中的一些脚本,当前页面被重定向到我想阻止的domain.com/main。我想做的只是加载内容和图像。请注意,我正在加载的 div 是隐藏的。我只想缓存一些元素。

我尝试过:

$("#preloaded_main_page").unbind().load('main/', function() {
  $("#preloaded_main_page *").unbind('click');
  $(window).unbind('hashchange');
});

但没有效果。有人可以帮我解决这个问题吗?

最佳答案

我看不出加载将如何执行位置更改。您可以按照我的几个步骤来调试正在发生的情况。希望对您有所帮助。

  1. 注释掉您的代码并确保网站的其他部分没有执行重定向。
  2. 确保您尝试加载的主页上没有运行任何脚本标记。为什么?因为 text/html MIME 类型上的脚本标记会被评估并执行。

  3. 尝试在 .load 方法上使用标准 $.ajax:

    $(文档).ready(function () { $.ajax({ 类型:'获取', 数据类型:'文本/html', 缓存:假, 网址: '/main', 成功:函数(数据){ if(data != '') $('#preloaded_main_page').html(data); } }); });

代码标签似乎不起作用。所以你需要自己进行换行:)

-

如果页面上有任何其他脚本进行重定向,您需要指定一个全局变量,以确保它仅在内容加载后而不是同时进行重定向。如果是这样的话。

关于javascript - 防止通过 jquery.load() 加载时重定向脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12795661/

相关文章:

jquery - 为什么 jQuery.load 不处理相对链接?

javascript - 如何退出嵌入在 $.each() block 中的函数?

javascript - 在 x 秒内填充进度条

Jquery bool 值在 if() 中不起作用

jquery - 使用 jQuery 将具有相对路径的外部 HTML 页面加载到 DIV 中

javascript - 从 html5 canvas 到视频

javascript - noscript block 内的元视口(viewport)标签

javascript - 如何更新Stripe订阅数量? ( Node .js)

javascript - “产品”已定义但从未在 react 中使用?

jquery - 在 jquery load() 中使用变量不起作用