0

ユーザーがボタンをクリックしたときに、入力されたWebページのサムネイルを読み込もうとしています。サムネイルはそれ自体でページ上に適切に生成されますが、それをdiv要素にロードしようとすると、ページ全体が置き換えられます。現在、これは概念実証にすぎません。これが機能するようになったら、ユーザーが入力したURLに切り替えます。

これが私のクリックイベントコードです:

$('#check_url').click(function() {
    $('#thumb_loader').load('load_thumb.html');
});

thumb_loaderは単なるdivです。私もこのように試しました:

$('#check_url').click(function() {
    $('#thumb_loader').html($('<div>').load('load_thumb.html'));
});

load_thumb.htmlは次のとおりです。

<div>
    <script type="text/javascript">
        wsr_snapshot('http://google.com', 'xxxxxxxxxxxxxx', 'Small');
    </script>
</div>

wsr_snashotはWebSnaprです。画像はサーバー上で生成され、このコードがある場所に表示されます。

まず、このようなJavaScriptをロードすることもできますか?以前にloadを使用してjavascriptを含むコンテンツをドロップしたことがあるので、そうではないと思います。

誰かがここで何か問題を見ますか?

編集:

これが私がロードしたいdivがあり、ユーザーがAJAXをトリガーするためにクリックするボタンであるテーブルです。

<table>
    <tr>
        <td colspan="2">
                    <div id="thumb_loader"></div>
                </td>
            </tr>
            <tr>
                <td>
                    <label>Link Title:</label>
                </td>
                <td>
                    <label>Link Description:</label>
                </td>
            </tr>
            <tr>
                <td>
                    <input type="text" name="link_title" />
                </td>
                <td rowspan="3">
                    <textarea name="link_description"></textarea>
                </td>
            </tr>
            <tr>
                <td>
                    <label>Link URL:</label>
                </td>
                <td>

                </td>
            </tr>
            <tr>
                <td>
                    <input type="text" name="link_url" />
                </td>
                <td>

                </td>
            </tr>
            <tr>
                <td>
                    <input id="check_url" type="button" value="Check URL" />
                </td>
                <td align="right">
                    <input type="button" value="Cancel" /><input disabled="disabled" type="submit" value="Add Link" />
                </td>
            </tr>
        </table>

コードに関連する可能性のあるものは他にありません。これで十分だといいのですが。

4

2 に答える 2

2

JSコードをファイルから取り出し、次のload_thumbような新しいjsファイルに保存して、プリンシパルページに動的に追加するためにimage.js使用します。$.getScript

$.getScript('path/image.js', function(){
   // file loaded
});

親指の画像を実行するメインファイルに上記のコードを配置する必要があります。

もっと:

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

于 2012-06-27T19:49:53.013 に答える
1

jQuery#load():接尾辞付きのセレクター式のないURLを使用して.load()を呼び出すと、スクリプトが削除される前にコンテンツが.html()に渡されます。これにより、スクリプトブロックが破棄される前に実行されます。ただし、URLにセレクター式を追加して.load()を呼び出すと、DOMが更新される前にスクリプトが削除されるため、スクリプトは実行されません。

wsr_snapshot('http://google.com', 'xxxxxxxxxxxxxx', 'Small');呼び出しが含まれている場合document.writeは、ドキュメント全体が上書きされます。その関数が何をするかを知っていることを確認してください。


アップデート:

質問のコメントによると、これは本当に問題です。wsr_snapshot()非同期でどのように使用できるかを理解する必要があります。とにかくそれはどのAPIですか?

于 2012-06-27T19:49:51.347 に答える