我目前正在開發一個Chrome擴展程序,允許用戶發送單詞時顯示圖片。我使用AJAX和JQUERY來獲取圖片。Chrome瀏覽器擴展程序:在帶有AJAX和JQUERY的彈出窗口中顯示圖片
我有一個問題顯示彈出內的圖片。事實上,它在一個普通的html頁面上工作,但不在彈出窗口中。
如果你想測試:http://algec.iut-blagnac.fr/~groupe6pjt/testAjax/pageHTML.html。
當我嘗試顯示在彈出的圖片,我有這個錯誤在JavaScript控制檯:
無法加載資源鉻擴展://pmbnmemdpheopedlikgmdeegebojkoji/chamoix.png
而我有一個小圖像圖標,而不是圖片上的裂縫。
我不認爲這是圖片的路徑的原因,而是我們的頁面(以上鍊接)上工作的問題。
這裏是我的代碼:
1 more_com.php(服務器上的PHP文件)
<?php
print "<p>Je suis un fichier php 2.0 !</p>";
$conn = mysql_connect("localhost", "groupe6pjt", "bfjrs2012") or die ("Connexion impossible");
$base="groupe6pjt";
mysql_select_db("$base") or die ("base inconnue");
$requete2 = "select imgSigne from signe where idSigne=10;";
$resultat2 = mysql_query($requete2) or die ("requete2 impossible");
while($tab = mysql_fetch_array($resultat2))
{
echo $tab[0];
echo "<br/><img src=\"chamoix.png\" />";
}
?>
2. popup.html
<!DOCTYPE html PUBLIC>
<html>
<head>
<link rel="stylesheet" href="css/bootstrap.css" type="text/css" media="screen">
<title>Techniques AJAX - XMLHttpRequest</title>
<script src="popup.js"></script>
</head>
<body>
<div id="bandeau">
<h4 style="color : white;">AIPS - Traduction LSF</h4>
</div>
<div id="obtenirTexte" class="well well-large">
<p><b>1)</b> Obtenir le texte surligné sur la page : </p>
<form class="form-search">
<div class="input-append">
<input class="span2 search-query" name="text" style="height : 30px; width : 175px;" type="text" id="text"/><button id="effacer" class="btn btn-primary" name="effacer" style="height : 30px;" title="Effacer le mot"><img src="effacer.png" alt="Erreur"/></button>
</div><br/><br/>
<button id="submit" class="btn" title="1) Texte">Obtenir le texte</button>
</form>
</div>
<div id="obtenirImage" class="well well-large">
<div id="commentaires">
<p><b>2)</b> Obtenir l'image correspondante : </p>
</div>
<form>
<input id="more_com" class="btn" type="button" value="Obtenir l'image" title="2) Image"/>
</form>
<div id="message">
<!-- PHP return here ! -->
</div>
</div>
<!-- As you can see with Chrome you can't put script directly in the htlm code so I create a file with my function : fonction.js -->
<script language="JavaScript" type="text/javascript" src="jquery.js"></script>
<script language="JavaScript" type="text/javascript" src="fonction.js"></script>
<script language="JavaScript" type="text/javascript" src="fonction2.js"></script>
<script language="JavaScript" type="text/javascript" src="popup.js"></script>
</body>
</html>
3. fonction.js
$(document).ready(function(){
$("#more_com").click(function(){ //Cette fonction se déclenche quand on clique sur le bouton d'id "more_com" (ici "Obtenir l'image")
var variableTest=$.ajax({
url : "http://algec.iut-blagnac.fr/~groupe6pjt/testAjax/more_com.php", //Ca c'est la page PHP qu'on va devoir modifier pour qu'à la reception du mot elle affiche l'image correspondante (Ne pas changer !)
type : "GET", //On garde GET car on veut récupérer une donnée en envoyant des infos (!= POST)
//data : 'motRecher=' + COUCOU; // *****A MODIFIER***** //On va devoir utiliser ce champ pour envoyer le mot surligné vers la page PHP "more_com.php"
dataType : "html", //Le type de données renvoyé par la page PHP (ici : c'est du html que la page renvoie)
});
variableTest.done(function(data, textStatus, jqXHR){ //Si on atteind le fichier alors on affiche ce que retourne "more_com.php" (ici il retourne "Je suis un fichier PHP !")
$("#message").html(data); //Permet l'affichage du fichier PHP
});
variableTest.fail(function(jqXHR, textStatus){ //Si on atteind pas le fichier ...
$("#message").html("<p>Erreur</p>"); //...erreur
});
});
});
我認爲Chrome會阻止在彈出窗口或類似的東西中顯示圖片!
非常感謝!它現在在彈出窗口:) – 2013-03-15 10:32:22