2015-01-11 2 views
4

Я пытаюсь построить расширение chrome, которое использует всплывающее меню действия страницы, но ни один из моих javascript, кажется, работает. Вот источник:Можете ли вы использовать javascript в всплывающем меню страницы?

<!DOCTYPE html> 
<html> 
    <body> 
     <input type="button" id="button1" value="first button"> 
     <input type="button" id="button2" value="second button"> 
     <script> 
      console.log("do anything!!"); 
     </script> 
    </body> 
</html> 

Я не могу видеть заявление о регистрации в любом месте. Кажется, я ничего не могу запустить. Так как всплывающие окна должны работать? Документы не упоминают, что эти всплывающие окна являются только статическими.

+1

Связанный: http://stackoverflow.com/questions/17601615/the-chrome-extension-popup-is-not-working-click-events-are-not-handled –

ответ

5

Прежде всего, Расширениям Chrome не разрешено запускать встроенный код Javascript (он же любой фрагмент кода, который не входит в файл .js, но в DOM).

Цитируя the Content Security Policy page:

Там нет механизма для отдыха ограничения в отношении выполнения встроенного JavaScript. В частности, установка политики сценария, которая включает в себя «небезопасный-встроенный», не будет иметь никакого эффекта.

Таким образом, вам необходимо поместить код в другой файл и импортировать его, как это:

<sctipt src="popup.js"></script> 

Во-вторых, код запуска в всплывающее окно регистрируется в собственной консоли , поэтому вам нужно щелкнуть правой кнопкой мыши значок вашего расширения и нажать «Inspect popup». Затем появится окно инструментов разработчика, и вы сможете перейти на вкладку «Консоль» и просмотреть журнал. Кроме того, вы можете открыть всплывающее окно и щелкнуть правой кнопкой мыши в любом месте внутри него, а затем выбрать «Осмотреть элемент», как на любой обычной странице.

enter image description here

+0

Вы, кажется, забыли факт это также встроенный код. – Xan

+0

@ Xan встроенный код да, что бы это означало? –

+0

Я действительно смутил вас, всех людей на этом теге, [не вижу] (https://developer.chrome.com/extensions/contentSecurityPolicy#JSExecution). – Xan

Смежные вопросы