расширение Google Chrome: popup.html javascript против jquery

#jquery #google-chrome

#jquery #google-chrome

Вопрос:

Я играю с расширением Google Chrome, и у меня есть простое расширение, работающее со следующим popup.html файл:

 <script type = "text/javascript">
    alert("hi from popup.html");
</script>

<body>
Hello World
</body>
  

Как только я добавляю атрибут src с URL-адресом в CDN Google jquery, появляется предупреждение («привет от popup.html «);’ больше не запускается.

Мой файл манифеста выглядит следующим образом:

 {
  "name": "My First Extension",
  "version": "1.0",
  "description": "The first extension that I made.",
  "background_page": "background.html",
  "browser_action": {
    "default_icon": "icon.png",
"popup": "popup.html"
  },
  "permissions": [
"tabs","http://*/*","https://*/*"
  ]
}
  

Почему добавление исходного кода jquery прерывает всплывающее окно?

Комментарии:

1. Обычно вы просто копируете последнюю версию jquery.min.js в свое расширение, вместо того, чтобы получать ее из CDN.

2. Это не имеет ничего общего с Chrome или расширениями. Это базовый Javascript: <script> имеет либо содержимое, либо src .

Ответ №1:

Вам нужно будет разбить ваши скрипты на два оператора. Попробуйте это:

 <script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript">
    alert("hi from popup.html");
</script>
  

Комментарии:

1. Имейте в виду, что встроенные скрипты теперь запрещены с версией манифеста 2.

2. @ChristopherHarris developer.chrome.com/extensions/contentSecurityPolicy.html#H3-1