2014-09-04 1 views
0

Pour une raison étrange, je n'arrive pas à appeler une fonction de page d'arrière-plan depuis un popup.html javascript. (le JS n'est pas inline, mais un script séparé).Appel de la fonction de page d'arrière-plan à partir d'une page contextuelle ne fonctionne pas (extension chrome)

popup.js (un manuscrit référencé à partir popup.html)

var bgPage = chrome.extension.getBackgroundPage(); 
// debugger shows here that bgPage is indeed != null, 
// also - bgPage.myFunc prints my function, yay! 

// However, calling the function does nothing, and quits 
// the debugging without any exception 
bgPage.myFunc(); 

background.js

function myFunc() { 
    console.log(1); // never happens 
} 

Pourquoi? Cela me semble lié à une politique de sécurité ... ne me permettant pas d'appeler bg fonctions ... peut-être? Btw: Testé Le passage également, n'a pas fonctionné non plus.

Répondre

0

Ok. mon mauvais ...

Le background.js avait des exceptions levées, et je ne l'ai pas remarqué jusqu'à ce que j'ouvre les outils de développement pour cela.

problème résolu.

+0

En guise de commentaire, 'chrome.extension.getBackgrounPage' devrait être considéré comme obsolète au profit de' chrome.runtime.getBackgroundPage'. Le premier ne fonctionne pas avec les pages d'événement. – Xan

+0

@Xan 'chrome.extension.getBackgroundPage' n'est * pas * obsolète. Si vous utilisez consciemment des pages d'arrière-plan sur des pages d'événement (par exemple parce que vous utilisez un 'WebSocket 'de longue durée), alors c.e.gBP fonctionnera toujours comme prévu. –

Questions connexes