0

ユーザーが閲覧中のページから画像を収集する独自のブラウザのブックマークツールバーに追加するブックマークレットがあります。

ユーザーが任意のサイトをクリックするたびにログを記録し、データを mysql テーブルに保存したいと考えています。だから私は ajax 呼び出しを使用して、送信されたデータを処理する php ファイルに投稿しています。

ただし、これは機能する場合と機能しない場合があります。つまり、一部のサイトでは機能し、他のサイトでは機能しません。

私がしようとしているのはこれです:

(function()
{ // declare variables e.g. div.ids, div content etc then display it
......

    //log the click
    var dataString = '&url=' + encodeURIComponent(window.location.href) + '&page_title=' + encodeURIComponent(document.title);
    $.ajax({
    type: "POST", // form method
    url: "http://myurl.com/includes/log_clicks.php",// destination
    data: dataString,
    cache: false
    });
    //END log the click

})();

それが機能せず、Firebug を使用して理由を調べると、エラーが発生することがあります。TypeError: $ is undefined $.ajax({

時々それはまだphpファイルに投稿しますが、データはありません

ユーザーのブラウザーの js ファイル内から ajax を呼び出すより良い方法はありますか?

提案に従って、変数の1つを次のように修正するだけでjqueryをロードしようとしました:

div.innerHTML = '<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script><div class=....';

しかし、それは違いはありませんでした

4

1 に答える 1

1

これを実行するには、ページに jQuery が存在する必要があります。存在しない場合は、jQuery をロードする必要があります。ここでは、必要な jQuery 機能の一部を実際にロードするだけの jQuerify コードを使用して、優れたアプローチの概要を説明します。

于 2012-12-02T02:11:28.780 に答える