/ / Perché jQuery non viene caricato nell'estensione di Chrome? - javascript, jquery, google-chrome, google-chrome-extension

Perché jQuery non viene caricato nella mia estensione di Chrome? - javascript, jquery, google-chrome, google-chrome-extension

Questa è un'estensione di Chrome che sostituisce la nuova schermata della scheda dell'utente.

Il mio jQuery non si sta caricando perché il "ciao" nel mio HTML non sta avvisando. Dovrei caricare jQuery nel manifest o nell'HTML? Qualunque sia, presumo che l'HTML dovrebbe essere nello stesso posto.

manifest.json:

{
"manifest_version": 2,

"name": "Some title",
"description": "Some description.",
"version": "1.0",

"chrome_url_overrides": {
"newtab": "index.html"
},

"content_scripts": [
{
"matches": ["newtab"],
"css": ["style.css"],
"js": ["jquery.js"]
}
]

}

index.html

<html>
<head>
<link rel="stylesheet" type="text/css" href="bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
alert("hello");
$(function(){
$("#container").masonry({
// options
itemSelector : ".item",
columnWidth : 300
});
});
</script>
</head>
<body>
<!-- etc -->

risposte:

1 per risposta № 1

Non puoi caricare script da posizioni remote nelle estensioni di Chrome senza specificare esplicitamente i permessi in manifest.json, puoi specificare i permessi in manifest.json oppure scarica jquery e distribuisci la tua estensione con il file jQuery. La seconda opzione (avere una copia locale di jquery nella cartella di estensione) sembra molto più ragionevole.


0 per risposta № 2

Se index.html è la tua pagina di sfondo, aggiungerei jquery alla cartella dell'estensione e fare riferimento in modo relativo.

Se è applicato alle pagine, specificare uno script di contenuto come descritto a destra Qui. Di nuovo, tienilo locale e relativo.