我目前正在开发一个Safari扩展,它向站点添加了一个样式表和一些小脚本。其中一个脚本必须插入到html中,所以我有另一个脚本在运行...
var myScriptElement = document.createElement('script');
myScriptElement.type = 'text/javascript';
myScriptElement.src = 'http://mysite.com/myscript.js';
document.querySelector('head').appendChild(myScriptElement);...that将此添加到头部:
<script type="text/javascript" src="http://mysite.com/myscript.js"></script>我的问题是脚本是从我的网站而不是从扩展文件夹加载的。那么,我必须插入什么作为源代码才能访问扩展文件夹?我不能使用标准的start- and end- script -extension-function插入脚本。
我在javascripting方面真的很差,所以如果你们中有人能帮助我,我将不胜感激!:)
发布于 2013-03-18 00:37:21
您可以使用safari.extension.baseURI获取扩展文件夹的路径。因此,在您的注入脚本中使用类似以下内容:
var myScriptElement = document.createElement('script');
myScriptElement.type = 'text/javascript';
myScriptElement.src = safari.extension.baseURI+'myscript.js';
document.querySelector('head').appendChild(myScriptElement);值得注意的是,注入的脚本也被注入到页面上的每个iframe中,因此根据您正在做的事情,您可能希望确保上面的脚本只运行if (window == window.top)。
https://stackoverflow.com/questions/15461534
复制相似问题