Firefox 부가 기능을 만드는 법을 배우고 있습니다. 나는 페이지에 스크립트를 삽입 할 간단한 애드온 (add-on)을하고 싶다. 설명서를 읽었지만이 문제를 해결할 수는 없습니다.왜이 contentscript가 firefox 애드온에서 여러 번 실행됩니까?
cfx 실행 로그에서 한 번만 수행해야하는 경우 동일한 페이지에서 여러 번 스크립트가 실행되는 것을 볼 수 있습니다.
main.js
var pageMod = require('sdk/page-mod')
var data = require('sdk/self').data
pageMod.PageMod({
include: ['*'],
contentScriptWhen: 'end',
contentScriptFile: data.url('starter.js')
})
starter.js
var script = document.createElement('script');
script.id = 'i-inject';
script.type = 'text/javascript';
script.src = 'http://localhost:8888/injectme.js';
document.getElementsByTagName('head')[0].appendChild(script);
console.log('injected');
당신이 ('주입')이 CONSOLE.LOG를 볼 수 있습니까? cfx를 실행하고 페이지를 다시로드 할 때마다 콘솔에 5 번 인쇄 된 것을 볼 수 있습니다. 나는 그 행동을 이해하지 못한다.
크게 감사합니다 어떤 도움 :)
난 그냥 여러 검색 지금까지이 질문에 나를 인도하지 않은 어떤 이유로 같은 질문을 물어 완료
API docs가 같은 페이지에 5 회에서 실행, 아니면 한 번만 다음 번 각각에 대해 확인을 그들의에서 찾을 수 있습니다 페이지에 포함될 수있는 네 개의 iframe? – nmaier
안녕하세요, iframe에 대해 생각하지 않았습니다. 귀하의 의견은이 질문에 나를 이끈다 : http://stackoverflow.com/questions/12002542/firefox-addon-ignore-iframes 그리고 나는이 방법으로 그것을 풀려고 노력해야한다고 생각한다. 원하는 경우 답변을 넣을 수 있으며 투표 할 것입니다. Chrome 확장 프로그램이 그렇게하지 않는다고 생각합니다. 같은 생각입니다. 감사합니다. – Amida