【问题标题】:Error: Permission denied to access property from a popup window to a bookmarklet错误:从弹出窗口访问小书签的权限被拒绝
【发布时间】:2013-01-25 11:34:20
【问题描述】:

我前段时间创建了一个书签,现在我正在尝试添加登录功能。

我这样做的方式。如果用户当前未登录并单击书签,则会打开一个弹出窗口,其中包含我的登录页面的 url。

我的想法是,一旦用户登录,我将回显一个 javascript 脚本标签。在脚本中有一个在书签中定义的函数调用。

一旦用户登录,我会在弹出窗口中回显。

if(logged){
    echo '
    <script type="text/javascript">
        window.opener.updateLoginBookMarklet(true);
        window.close();
    </script>
   ';
    exit;
}

这是在小书签中定义的函数:

window.updateLoginBookMarklet = function(status){
     LoggedIn = status;
}

但是我似乎得到了Error: Permission denied to access property "updateLoginBookMarklet"

这可能是由于我不确定的跨域问题。

有人知道吗?有办法解决吗?

【问题讨论】:

    标签: php javascript permissions bookmarklet


    【解决方案1】:

    这可能是由于我不确定的跨域问题。

    你是对的。出于安全原因,来自一个域的页面中的 JavaScript 不能直接与来自另一个域的页面交互。

    一种解决方案是使用 addEventListener 和 postMessage。我建议先阅读这些内容,然后在 Google 上搜索 bookmarklet postmessage 以获取一些实际示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-18
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多