1

有没有办法将窗口对象从注入脚本传递到 global.html 页面,

我试图将窗口作为对象的一部分从“加载”侦听器函数传递给全局页面,它在尝试发送消息时会引发类型错误。

这是代码。

window.addEventListener("load", onDocLoad);

function onDocLoad()
{
    var msg = new Object();

    msg.url = window.location.href; // this all works 
    .....
    msg.win = window; // With this it throws type error on line safari.self.tab.dispatchMessage("XXX",msg);
    safari.self.tab.dispatchMessage("XXX",msg);  
}

消息调度工作和其他数据可以传递而不会出现窗口对象的错误期望。我该怎么做呢?

4

1 回答 1

1

您不能像文档中所说的那样传递 HTMLWindow 之类的对象:

消息数据不限于单一数据类型;它可以是布尔值、数字、字符串、数组、RegExp 对象或任何符合 W3C 标准的任何东西,用于安全传递结构化克隆数据。在命令不需要数据的情况下,它也可以为空、未定义或留空。

于 2013-03-20T09:30:25.633 回答