【问题标题】:Permission denied to access property 'href' (same domain, FF only)访问属性“href”的权限被拒绝(同一域,仅限 FF)
【发布时间】:2014-03-20 16:34:11
【问题描述】:

我正在为我的工作网站开发一个项目,该项目涉及将 PDF 嵌入到 iFrame 中。这些 PDF 中包含指向 PDF 的链接(相同域),我需要跟踪它们所在的当前 URL,以便我可以显示 PDF 来自的书的“广告”。

相关代码段:

            function ShowResults() { 
                       var gender = document.getElementById('gender').selectedIndex;
                       var level = document.getElementById('level').selectedIndex;
                       switch (gender) { 
                          case 0: switch (level) {  
                                     case 0: document.getElementById('results').src = "../dropdown/elementary_male.pdf";
                                             break;
                                     case 1: document.getElementById('results').src = "../dropdown/middle_male.pdf";
                                             break;
                                     case 2: document.getElementById('results').src = "../dropdown/high_male.pdf";
                                             break;
                                     case 3: document.getElementById('results').src = "../dropdown/college_male.pdf";
                                             break;
                                  };
                                  break;
                          case 1: switch (level) {  
                                     case 0: document.getElementById('results').src = "../dropdown/elementary_female.pdf";
                                             break;
                                     case 1: document.getElementById('results').src = "../dropdown/middle_female.pdf";
                                             break;
                                     case 2: document.getElementById('results').src = "../dropdown/high_female.pdf";
                                             break;
                                     case 3: document.getElementById('results').src = "../dropdown/college_female.pdf";
                                             break;
                                  };
                                  break;
                        }
                    }

我想获取 iFrame“结果”所在的 URL。我通过每两秒提醒document.getElementById('results').contentWindow.location.href 来测试它。这在 Firefox 中失败并显示消息 Error: Permission denied to access property 'href',但在 Chrome 中可以正常工作(没有此类错误)。我做错了什么?

【问题讨论】:

  • 所有东西都来自同一个主机/端口吗?
  • 是的。该代码在 Chrome 中运行,因此它认为没问题。 :P
  • 所以我已经使用了更多,如果框架的 src 不是 PDF,它可以正常工作。嵌入PDF时有没有办法获取框架的src?

标签: javascript html pdf iframe


【解决方案1】:

问题是当 iFrame 仅包含嵌入的 PDF 时,我正在尝试读取 iFrame 的 URL。 Firefox 出于某种原因不喜欢这个。在我的特定情况下,我可以将 PDF 转换为 HTML 文档并使用它们,完全避免了这个问题(因为嵌入 HTML 文档可以正常工作)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 2016-09-02
    • 2016-05-02
    • 1970-01-01
    相关资源
    最近更新 更多