2013-03-17 71 views
1

我目前正在开发一个将样式表和一些小脚本添加到网站的Safari扩展。其中一个脚本已在HTML中插入,所以我已经运行的另一个脚本...Safari扩展中的多余文件

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> 

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

我对javascripting非常不满,所以如果有人能帮助我,我将不胜感激! :)

回答

2

您可以使用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)