Piszę rozszerzenie Google Chrome, które manipuluje bieżącą stroną (w zasadzie dodaje przycisk).Ładowanie zewnętrznego javascript w rozszerzeniu Google Chrome
W moim scenariuszu zawartości, chcę, aby załadować API Facebook Graph:
$fbDiv = $(document.createElement('div')).attr('id', 'fb-root');
$fbScript = $(document.createElement('script')).attr('src', 'https://connect.facebook.net/en_US/all.js');
$(body).append($fbDiv);
$(body).append($fbScript);
console.log("fbScript: " + typeof $fbScript.get(0));
console.log("fbScript parent: " + typeof $fbScript.parent().get(0));
console.log("find through body: " + typeof $(body).find($fbScript.get(0)).get(0));
Jednak scenariusz nie wydaje się, aby dodana do body
. Oto dziennik konsoli:
fbScript: object
fbScript parent: undefined
find through body: undefined
Jakieś pomysły na temat tego, co robię źle?
Czy jest jakiś powód, dla którego nie można po prostu zawierać Facebook JS jako jednego ze swoich skryptów treści? – sdleihssirhc
Próbowałem, ale nie mogę nawet załadować skryptu w oknie rozszerzenia. Występuje z tym błędem: Nie można załadować rozszerzenia z "/Users/.../extentionfolder/". Nie można załadować kodu JavaScript "https://connect.facebook.net/en_US/all.js" dla skryptu treści. – Gezim
Dzieje się tak dlatego, że podajesz odnośnik zewnętrzny, ale Chrome oczekuje, że skrypt będzie lokalny. Nie znam się zbyt dobrze na interfejsie API Graph Graph; jak możliwe jest zapisanie lokalnej kopii z twoim rozszerzeniem? – sdleihssirhc