如何在没有iframe的情况下创建新的窗口对象?

时间:2012-09-14 00:09:29

标签: javascript

如何制作与Window无关的新myWindow对象window(因此修改例如myWindow.Array.prototype不会影响window.Array.prototype), 没有创建<iframe>

目前我正在按照以下方式进行操作

function newWindow(){
    var myFrame = document.createElement('iframe'), myWindow = undefined;
    myFrame.style.display = 'none';
    myFrame.src = 'javascript:undefined;';
    document.body.appendChild(myFrame);
    myWindow = myFrame.contentWindow;
    document.body.removeChild(myFrame);
    return myWindow;
}

最终,我想制作我自己的核心对象类型副本并对其进行原型化。

2 个答案:

答案 0 :(得分:2)

嗯......你做不到。嗯......你可以打电话给window.open,但它会打开一个新窗口。而且......为什么你需要它呢?看起来你走错了路。

答案 1 :(得分:0)

根据您的工作情况,更好的方法可能是创建一个普通数组,然后使用您需要的功能扩充一个特定的数组实例。

function augmentArray(a) {
  a.purgeAll = function() {a.length = 0;};
}

var myList = [1, 2, 3];
augmentArray(myList);
myList.purgeAll();