打开一个新窗口并在加载后获取其位置

时间:2014-07-14 10:51:30

标签: dom dart dart-html

我正在使用此代码打开一个新窗口:

Window w = window.open('example2.com', 'example2'); // Consisder than my domain
                                                    // is example1.com

这部分代码工作正常,并成功打开一个新窗口。比我试图在加载完成后调用我的函数。

w.onLoad.listen(locationGetter);

这是locationGetter()函数的代码:

locationGetter(Event e) {
  Location currentLocation = w.location;
  currentHref = currentLocation.href; // currentHref is var defined
}                                    // in main() function

但是这段代码效果不好。每次运行脚本时,currentLocation和currentHref都为null。一开始我认为问题出现在onLoad事件中,所以我试图在打开一个窗口后立即调用w.location:

Window w = window.open('example2.com', 'example2');
Location currentLocation = w.location; // still null

我很确定Window和WindowBase都有location属性。请帮助我解决我的问题或提供此任务的替代解决方案。

1 个答案:

答案 0 :(得分:1)

我不认为这是Dart问题。

似乎你碰到了这个 http://blog.carbonfive.com/2012/08/17/cross-domain-browser-window-messaging-with-html5-and-javascript/

CORS阻止访问其他域的窗口,您可以使用postMessage。