0

現在、サードパーティの JavaScript ファイルを自分のページに直接埋め込んでいます。

ただし、埋め込み元の Web サイトは応答に時間がかかるため、サイトのレンダリングが数秒間停止します。

私は現在、いくつかの値を書き込む場所に自分のページに埋め込んでいます:

<script language="javascript" type="text/javascript" src="[third-party site/file.js]"></script>

埋め込まれたスクリプトからの応答は、単なる JavaScript です。

document.write('<div class="value">Value 1</div><div class="value">Value 2</div>');

ページが読み込まれた後、jQueryを使用してAJAXリクエストを作成し、何らかの方法でレスポンスを解析して、必要な値を取得できると考えていました。

より良いアプローチはありますか?

4

3 に答える 3

1

このスクリプトを body の最後 ( の直前</body>) の hidden 要素内に配置し、ページが読み込まれた後、jQuery を使用して目的の場所に移動できます。

    <div id="hiddenElement">
        <script type="text/javascript" src="[third-party site/file.js]"></script>
    </div>
    <script type="text/javascript">
        $(document).ready(function() {
            $("#hiddenElement").appendTo("#someOtherElement");
        });
    </script>
</body>

別の解決策は、jQueryを使用.getScript()して、あなたが言ったように目的の場所にスクリプトをロードし、@James McDonnellが言ったことです。

于 2012-11-28T23:31:26.367 に答える
0
$(document).read(function()
{
  $.getScript(/* src */)
});

これは、ページが読み込まれた後に実行されます。

$.getScript()

于 2012-11-28T23:30:31.203 に答える
0

おそらく、これはソリューションの一部になる可能性があります。ボタンを使用して DIV の変更イベントをトリガーするスタンドアロンの jQuery の例を次に示します。この例は、div の html コンテンツにアクセスする方法と、それを操作/変更する方法を確認する方法を示しています。これはあなたにとっての解決策ではありませんが、その一部は rcdmk と James のアイデアと組み合わせると役立つかもしれません。

<html>
    <head>
        <!--<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>-->
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $('#button_test').click(function() {
                    $('.value').html('New stuff').change();
                });
                $('.value').change(function(){
                    $('div').each(function() {
                        alert($(this).html());
                    });
                });
            });
        </script>
    </head>
<body>


<div class="value">Value 1</div>
<div class="value">Value 2</div>
<button id="button_test">Click me</button>
于 2012-11-28T23:45:14.247 に答える