使用jquery html()将脚本插入到新窗口中
insert script to new window with jquery html()
我通常使用jQuery html()方法将ajax请求返回的html+脚本插入到文档中,该方法也执行脚本。
意味着如果我写:
$(document.body).html("<script>alert()</"+"script>");
它将执行脚本。(+仅用于浏览器,因为在字符串中写入</script>
不起作用。)
问题是,如果我对新打开的窗口也这样做,那就不起作用了。即不执行脚本。为什么?
如果目标页面和主页位于同一URL和协议中,则可以在打开的窗口上执行任何脚本。(我假设它是用Window.open()函数打开的)
保存对打开窗口的引用。。。
var popup = window.open("/page2.html");
并使用它来访问其文档:
$(popup.document.body).append("<script>alert()</script>");
如果你也在打开的窗口中导入jQuery,你也可以调用
popup.$(popup.document.body).append("<script>alert()</script>");
我过去用不同的方式来做。Ajax返回一个包含$(document).ready
和所有相关代码的页面。然后,我用.html(data)
将AJAX返回的代码加载到AJAX函数中,jquery代码始终有效。如果我没有错的话,您的问题与DOM在新窗口中没有准备好有关。
相关文章:
- GWT获取新旧窗口大小
- 如何在新标签/窗口中编写文本文档
- 如何在鼠标悬停在另一个图像/链接上时显示新图像/窗口
- 从服务器 c# 打开 Outlook 新邮件窗口
- 获取用户输入以设置新的窗口参数
- 为什么我不能创建新的窗口实例
- 在c中按下一个按钮,打开两个新的窗口/选项卡(不同的外部站点)
- 在新浏览器/窗口上单击提交按钮后打开PHP操作
- 如何恢复窗口,而不是打开一个新的窗口,如果它有相同的url(仍然从上一个打开)
- 如何在不制作另一个新选项卡或新浏览器窗口的情况下在同一网页中播放MPG视频/音频文件
- 如何打开一个新的窗口/选项卡没有用户的干预,而不让它被阻止
- 打开所有链接不是我的网站的一部分,在新的窗口与jquery
- 打开一个新的窗口,而浏览器没有给出警告,这是一个弹出
- 在新的窗口jquery功能不工作
- 如何使图标出现在一个新的窗口
- 如何重定向到一个新的窗口后,点击选择关于html的选项
- 如何强制电子邮件链接打开在新的窗口
- 显示更多的信息悬停在一个新的窗口,如在facebook
- 如何使用谷歌签名与重定向,而不是一个新的窗口
- 在新的窗口打开页面,没有弹出阻止使用JavaScript目标_blank