File Safari扩展中的多余文件

File Safari扩展中的多余文件,file,safari,safari-extension,File,Safari,Safari Extension,我目前正在开发一个Safari扩展,它向站点添加了一个样式表和一些小脚本。其中一个脚本必须插入html中,所以我有另一个脚本正在运行 var myScriptElement = document.createElement('script'); myScriptElement.type = 'text/javascript'; myScriptElement.src = 'http://mysite.com/myscript.js'; document.querySelector('head')

我目前正在开发一个Safari扩展,它向站点添加了一个样式表和一些小脚本。其中一个脚本必须插入html中,所以我有另一个脚本正在运行

var myScriptElement = document.createElement('script');
myScriptElement.type = 'text/javascript';
myScriptElement.src = 'http://mysite.com/myscript.js';
document.querySelector('head').appendChild(myScriptElement);
…这就增加了这一点:

<script type="text/javascript" src="http://mysite.com/myscript.js"></script>

我的问题是,脚本是从我的站点而不是扩展文件夹加载的。那么我必须插入什么作为源来访问扩展文件夹呢? 我无法使用标准的开始和结束脚本扩展函数插入脚本


我在Java脚本方面真的很差,所以如果你们中有人能帮助我,我将不胜感激!:)

您可以使用
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中,因此根据您正在做的事情,您可能希望确保上述脚本仅在(window==window.top)时运行