私は現在、訪問した各Webページ内に異なる名前の出現箇所があるChromeプラグインを開発しようとしています。ブートストラップポップオーバーは機能ではありません
プラグインが名前を見つけたら、基本的にその隣にアイコンが追加されます。クリックすると、その人に関する詳細情報を含むブートストラップポップオーバーが表示されます。
私は自分のコードを実行しようとすると、私はこのエラーを取得する:ここで
VM887:1 Uncaught TypeError: $(...).popover is not a function(…)
は私のコードです:
$('head').append('<script async src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.min.js"></script>\
<script async src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>');
$(document).ready(function(){
var name = "Nicolas";
// console.log('Document is ready.. scanning for politicians...');
//var hashmap = db_reader.getHashMap();
var counter = {i: 0}; //Occurences. Singleton to be passed by reference and not by value.
$('p').each(function(index) {
addImage(this, counter);
});
$('li').each(function(index) {
addImage(this, counter)
});
$('head').append(
"<script>$(function(){$('[data-toggle=\"popover\"]').popover();});\
</script>"
);
});
function addImage(context, counter) {
var body = $(context).text();
var word;
var reg = /[A-Z]+[a-z]*/gm;
while(word = reg.exec(body)){
// console.log("while");
if(word == name){
// console.log(word);
var image = '<a href="#" data-toggle="popover" title="Popover Header" data-content="A wonderful content" id="popover'+counter.i+'" class="politicianFind">\
<img alt="name" src="https://s15.postimg.org/pei4ci3fv/fdp.png">\
</a>';
// console.log("Replacing HTML");
$(context).html(body.replace(word, word + " " + image));
counter.i++;
}
}
}
私はすでに多くのことを検索しましたが、私は見つけることができませんでしたこの問題の修正。
敬具、
フロリアン
あなたのプロジェクトにbootstrap.jsを含めましたか? – gwar9
ありがとう!確かに、それは私の問題を解決しました。ブーストラップ、jQueryの依存関係をマニフェストファイルに追加するのを忘れてしまった: –
コンソールで何かが "未定義"または "機能ではない"ときにはトラブルシューティングの問題はない。 – gwar9