无法从弹出窗口

时间:2015-06-08 13:19:45

标签: javascript jquery html5 google-chrome-extension

当我尝试打开以下页面作为弹出窗口时遇到的消息:

  

拒绝加载脚本' http://allinternetfinance.com/LetMeKnow/jquery-1.11.2.js'因为它违反了以下内容安全策略指令:" script-src' self' '不安全-EVAL'

     

index.html:4拒绝执行内联脚本,因为它违反了以下内容安全策略指令:" script-src' self' '不安全-EVAL'&#34 ;. “不安全 - 内联”和“不安全”。关键字,哈希(' sha256-anuyZ9J88P7xGyiuMhMfVwpc613qkiD1ZB3UusOLD6A =')或nonce(' nonce -...')是启用内联执行所必需的。"

html是:

<html>
<head>
    <script src="http://allinternetfinance.com/LetMeKnow/jquery-1.11.2.js";></script>
    <script>
    $( document ).ready(function() {
        window.location.replace("http://localhost:8080/MembershipApp/index.html");
    });
    </script>
</head>

<body>
</body>

我得到的只是小白方而不是页面我试图将其重定向到。

2 个答案:

答案 0 :(得分:1)

您需要先做两件事:

  • 下载Jquery并从您的扩展程序文件夹中加载它,或根本不使用它。
  • 将脚本标记的内容移动到.js文件并引用它。

https://developer.chrome.com/extensions/contentSecurityPolicy

此外,似乎弹出窗口必须包含扩展文件,而不是使用

chrome.tabs.create({ url: "http://localhost:8080/MembershipApp/index.html"})

答案 1 :(得分:0)

请阅读有关Chrome扩展程序的脚本注入。 Programmatic Injection for Chrome Extensions

  1. 您可能没有cross-origin permissions的扩展程序
  2. 您必须“注入”脚本或使用manifest declaration才能使用它。这是因为现代浏览器的标题和“同源策略”作为安全措施。
  3. 最后,确保将脚本注入新创建的选项卡或现有选项卡中,不要执行弹出窗口内部的脚本,否则它将在弹出框内执行如果它是它自己的窗口(除非那是你想要的。)

    修改 理想情况下,您需要下载另一张海报所提到的jquery脚本,并在您的扩展程序中托管该脚本。请确保将jquery库声明为Web Accessible Resource,否则您将收到其他安全错误。

    希望这有帮助。

    JRad The Bad