javascript - 如何在 jQuery ajax 完成后启用 document.write

标签 javascript jquery

我必须获取一段包含 document.write 的 JS 片段 - 这会导致 document.write 渲染后页面变为空白。我可以通过重新定义 document.write 并将脚本的响应传递给一个函数来解决这个问题,我用该函数从 getScript() jQuery 函数输出响应。然而,我遇到了稍后在页面中加载的其他元素和脚本的问题,我的重新定义阻止了在页面上的输出。 jQuery getScript() 完成后,如何将 document.write 设置回默认功能?

$.getScript('somescript.com/script/', function(){
  //Prevent document.write normal behavior
  document.write = function(markup) {
  fullMarkup += markup;
  appendResponse(markup);
  }
 }  
});

最佳答案

只需将对 document.write 的原始引用保存在某个变量中,并在使用替换后恢复它。

window.backupWrite = document.write;

成功加载(和执行)脚本后

document.write = window.backupWrite;

关于javascript - 如何在 jQuery ajax 完成后启用 document.write,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10755244/

相关文章:

javascript - Node - 终止事件时

javascript - 有人可以帮我从我的 Db Sequelize 中删除记录吗?

外部 .js 文件中的 PHP 语法问题

javascript - 我的 jquery 加载覆盖层并不每次都显示

javascript - 如何检查此函数中是否至少选中了一个单选按钮?

javascript - 如何在外部 .js 文件中包含 jQuery?

javascript - 检测有多少 div 超出窗口高度

javascript - 更改禁用复选框的值

javascript - jQuery 方法根据样式类名称查找所有 radio 输入

Javascript 前进后退按钮