我使用window.open onload函数遇到IE问题。从我在其他帖子上看到的内容来看,显然是因为IE页面的主体在函数运行之前没有加载。我尝试了很多例子,但我似乎无法工作。
这是代码:
var popup = window.open('shared/message.html','_blank','width=770,height=800');
popup.onload = function() {
popup.document.title = "subject";
$(popup.document.body).append('content');
};
适用于Chrome。它会打开一个新窗口并更改页面标题,并使用“内容”填充页面。但是由于某些原因,对于IE来说,onload并没有激发。
popup.document.body
之前,我已经尝试过检查。我已经尝试了一些,但我现在不记得了,所有这些都在chrome上工作,但我仍然无法加载IE。是的,我必须找到一个IE解决方案。
我正在考虑将信息“传递”到新窗口的方式,比如ID或其他什么,然后我可以添加一个偶数监听器到该弹出页面来加载内容。但我也必须将弹出窗口用于其他内容,因此我无法对内容进行硬编码。
将一些上下文放在我正在做的事情上:基本上我有一个“主页”页面,它填充了公告列表中的SharePoint项目列表。当用户点击其中一个项目时,它会打开一个包含所有内容的新窗口。我正在使用SPServices GetListItems来提取内容。然后我使用popup.onload将'content'添加为新窗口的正文HTML。
我希望我已经相应地解释了自己,请提前感谢您的想法。如果你想看到我的SPServices代码,请告诉我,但我知道这是IE的事情,因为Chrome就像一个魅力。