2013-03-17 3 views
1

현재 사이트에 스타일 시트 및 일부 작은 스크립트를 추가하는 Safari Extension에서 작업하고 있습니다. ...Safari Extension 내의 초과 파일

var myScriptElement = document.createElement('script'); 
myScriptElement.type = 'text/javascript'; 
myScriptElement.src = 'http://mysite.com/myscript.js'; 
document.querySelector('head').appendChild(myScriptElement); 

을하는 스크립트 중 하나는 HTML에 삽입되어야한다, 그래서 실행하는 다른 스크립트를했습니다 ... 그 머리에 이것을 추가합니다

<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) 만 실행하십시오.