【发布时间】:2016-01-19 07:26:02
【问题描述】:
使用常规 JavaScript 或 JQuery 我想替换 createPopup() 方法,就像在这篇文章中所做的那样:
A universal createPopup() replacement?
但我想使用 Div 而不是 iFrame。我不需要任何花哨的东西,只需要一个可以设置样式的简单 div。
使用 Div 的问题是我有很多这样的现有代码,我希望保持不变,例如
var popup = window.createPopup();
oPopup.document.body.innerHTML = "Click outside <strong>popup</strong> to close.";
在下面的新createPopup() 方法中,有没有一种方法可以返回一个具有document.body.innerHTML 属性的对象来设置Div 的样式并且现有代码可以保持不变。
if(!window.createPopup){
window.createPopup = function() {
// TODO return div object
}
}
【问题讨论】:
-
看起来您想模仿 iframe 的某些功能(具有某些属性,例如
document.body.innerHTML),但不想使用 iframe 对吧? -
您可以轻松创建一个函数,该函数将返回一个具有相同属性的对象,但我猜 createPopup 方法会立即将弹出窗口呈现给用户?向“oPopup.document.body.innerHTML”添加内容会自动更新现有显示的对话框?似乎内容的自动更新会很困难,我认为只有最新版本的 ECMA 脚本才允许属性上的“观察者”。不过不研究就不确定。
-
您应该尝试用 Div 替换链接的 createPopup() 替换,什么对您不起作用?
标签: javascript jquery browser