我一直在尝试将Google自定义搜索引擎栏添加到我的新标签扩展程序中,但我没有太多运气。我在控制台中遇到的错误是:
拒绝加载脚本“http://cse.google.com/cse ...”,因为它违反了以下内容安全政策指令:“script-src'self'https://ssl.google-analytics.com”。
我已将清单中包含内容安全政策:
"content_security_policy": "script-src 'self' https://ssl.google-analytics.com; object-src 'self'"
我在外部javascript文件(background.js)上运行脚本,我在清单中也标记了该文件:
"background": {
"persistent": false,
"scripts": [ "script/background.js" ]
},
我还想包含一个获得结果的iframe,但我还没有做到那么远。我不认为这会有所帮助,但这是脚本(不包括我的身份验证密钥):
(function() {
var cx = 'auth key'
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
在新标签页上我已经包含:
</div>
<gcse:search></gcse:search>
<div>
在jquery和flowtype.js下的文档标题中调用background.js - 我也尝试将脚本放入app.js页面内的document.ready函数中,我在结束标记之前加载