0

だから私はJavascriptメソッドを呼び出す次のJqueryを持っています

$j("a.Pinterest").attr("href", "javascript:void(addScript());");

そしてこれはJavascriptメソッドです

   function addScript() {
    var e = document.createElement('script');
    e.setAttribute('type', 'text/javascript');
    e.setAttribute('charset', 'UTF-8');
    e.setAttribute('src', 'http://assets.pinterest.com/js/pinmarklet.js?r=' + Math.random() * 99999999);
    return document.body.appendChild(e);
}

Jqueryですべてを実行する方法があるかどうか疑問に思いましたか?

4

4 に答える 4

1

http://api.jquery.com/jQuery.getScript/

$.getScript("http://assets.pinterest.com/js/pinmarklet.js")
    .done(function(script, textStatus) {
     console.log( textStatus );
 })

編集:私はこれを試しませんでした、私はあなたのアドレスを取り、getScriptデモにそれを投げました。

于 2012-04-13T15:48:21.337 に答える
1
$j("a.Pinterest").attr("href", "javascript:void(addScript());");

これをしないでください。クリックハンドラーを使用することをお勧めします。

$j("a.Pinterest").click(addScript);

そして、でスクリプトをロードするためにaddScript使用できます。getScript

function addScript(e) {
    e.preventDefault();
    $j.getScript('http://assets.pinterest.com/js/pinmarklet.js');
}
于 2012-04-13T15:55:13.250 に答える
0
function addScript() {
      return $('<script/>',{
                          'type':'text/javascript',
                          'charset':'UTF-8',
                          'src':'http://assets.pinterest.com/js/pinmarklet.js?r=' + Math.random() * 99999999 
              }).appendTo("body")[0];
}
于 2012-04-13T15:50:17.297 に答える
0

$セレクターを使用してjQueryで要素を作成できます。

$('<script></script>')

jQueryもチェーン可能であるため、次のことができます。

$('<script></script>')
    .attr({
        'type' : 'text/javascript',
        'charset', 'UTF-8',
        'src' : 'http://assets.pinterest.com/js/pinmarklet.js?r=' + Math.random() * 99999999)
     })
     .appendTo(whatever)

条件付きスクリプトのロードを行っている場合は、yepnopeライブラリを確認することをお勧めします。

ボタンをクリックするだけで、なぜ動的にスクリプトがページに追加されるのか疑問に思います。スクリプトを準備して、ユーザーがクリックするのを待っているようです。読み込み時間が心配な場合は、ページの下部にあるスクリプトタグで読み込みを延期します。

于 2012-04-13T15:51:58.700 に答える