使用API​​的Chrome扩展程序无效

时间:2017-04-25 19:47:05

标签: javascript api google-chrome-extension

过去两天我一直在偷兔子洞,并且没想到这一点。我是编码的新手,这可能是我的整体问题!

我的Chrome扩展程序的HTML代码(popup.html)如下:

<html>  
   <body>

   <div id="ourmanna-verse">Loading...</div>
   <script type="text/javascript" src="votd.js"></script>      </body>
</html>

我的votd.js文件代码如下。

<script src="http://www.ourmanna.com/verses/api/js/" type="text/javascript">
</script>

脚本标记中的网站如果您按照网址进行操作,但我没有复制并粘贴它,因为它在浏览器中对其进行格式化渲染:O!

enter image description here

popup.html文件不会将votd.js文件拉入div ID,&#34; ourmanna-verse&#34;。任何人都可以帮我解决这个问题吗?

我还包括来自控制台的错误和来自votd.js文件的代码。也许它与我的代码的语法有关? Console errors and .js file code

1 个答案:

答案 0 :(得分:1)

http://www.ourmanna.com/verses/api/js/包含此内联脚本(格式良好):

(function(){
    var mannaverse='For the LORD is our judge, the LORD is our lawgiver, the LORD is our king; it is he who will save us.';
    var mannaverse_reference='Isaiah 33:22';
    var mannaverse_version='NIV';
    if(document.getElementById('ourmanna-verse')!==null){
        document.getElementById('ourmanna-verse').innerHTML='<div id="mannaverse-container"><p id="mannaverse">'+
        mannaverse+'</p><p id="mannaverse-reference">'+
        mannaverse_reference+' <small id="mannaverse-version"><i>('+
        mannaverse_version+')</i></small></p></div>';
    }
})();

votd.js包含对此的HTML脚本引用:

<script src="http://www.ourmanna.com/verses/api/js/" type="text/javascript">
</script>

这不起作用,因为votd.js只能包含javascript。

我猜你想让弹出窗口调用这个远程JS文件。为此,您需要先将其直接添加到popup.html

<html>  
<body>
   <div id="ourmanna-verse">Loading...</div>
   <script type="text/javascript" src="http://www.ourmanna.com/verses/api/js/"></script>      
</body>
</html>

您还需要允许在manifest.json中的内容安全策略中访问此远程脚本:

{
    ...
        "content_security_policy": "script-src 'self' https://www.ourmanna.com blob: filesystem: chrome-extension-resource: ;object-src 'self'",
    ...
}

最后,您需要确保可以通过HTTPS提供源脚本。