2016-02-22 1 views
2

Я создаю расширение Chrome в DevTools. Он отлично работает, если я не открою его на другой вкладке. Когда он открывается в другой вкладке, он загружает мой файл insert-script.js для каждого экземпляра, который расширяет расширение DevTools. Что может быть причиной этого? Я рад поделиться тем, что могу, но я не уверен, с чего начать.Расширение Chrome DevTools дважды при открытии на разных вкладках

Edit: Вот файл manifest.json:

{ 
    "name": "My DevTools Thing", 
    "version": "0.5", 
    "description": "Hello.", 
    "devtools_page": "devtools.html", 
    "background": { 
     "scripts": [ 
      "js/background.js" 
     ] 
    }, 
    "permissions": [ 
     "activeTab", 
     "http://*/*", 
     "https://*/*" 
    ], 
    "web_accessible_resources": [ 
     "js/content.js" 
    ], 
    "manifest_version": 2 
} 

Edit 2: Для того, чтобы добавить некоторые дополнительные контекст - скажем, у меня есть Devtools открытые на вкладке 1 и все это показать "Hello!". В первый раз, когда он открыт, он отображается один раз.

я затем открыть новую вкладку, откройте Devtools, то мое расширение, оно показывает:

"Привет!"

«Привет!»

На моей первоначальной вкладке она сейчас прикладываются:

"Привет!" (оригинал)

«Привет!» (с новой вкладки)

«Привет!» (С новой вкладки)

Если открыть вкладку ТРЕТЬЕЙ и откройте расширение ...

«Привет!» x 3 (новая вкладка)

Остальные вкладки будут иметь 3 «Hello!» s из оригинала, прилагаемого к нему.

+0

Вам нужно будет показать свой код, прежде чем кто-то сможет вам помочь. – BeardFist

ответ

0

Вы можете контролировать выполнение сценария вашего контента с помощью файла манифеста расширения, чтобы ваш скрипт содержимого не загружался в iframe или определенный набор URL-адресов. Вот пример файла манифеста:

"all_frames": true, 
"js": [ "ContentOnDocStart.js" ], 
"matches": [ "http:///", "https:///" ], 
"exclude_matches": [ ], 
"run_at": "document_start" 

Кроме того, включает в себя 'chrome.tabs.onUpdate.addListener' огня каждых ушек state changes.