1

私が本当に必要としているのは、選択した HTML を取得できる、Firebug のホバー要素のような関数です。

このプログラムでは、URL を読み込み、その URL が iFrame で開きます。ここでは、要素をホバーし、ユーザーが特定の要素をクリックすると、その特定の要素の HTML ソースが必要になります。

そう:

  • 選択した HTML を取得できるように、iFrame と対話 (ホバーされた HTML を取得) できますか?
4

2 に答える 2

2

ここにあなたが望んでいたようなものがあります。sourcecode という div で実行されます。

ただし、必要に応じて、ソースコード div を iframe に配置できます。

<div class="sourceCode">
</div>
<script type="text/javascript">
    (function ($) {
        $.fn.outerHTML = function () {
            return $(this).clone().wrap('<div></div>').parent().html();
        }
    })(jQuery);

    $(document).ready(function () {
        $("p,div").click(function () {

            var thisobject = this;
            var sourcecodes = $(thisobject).outerHTML();
            sourcecodes = htmlEscape(sourcecodes);
            $(".sourceCode").html(sourcecodes);

        });

    });

    function htmlEscape(str) {
        return String(str)
        .replace(/&/g, '&amp;')
        .replace(/"/g, '&quot;')
        .replace(/'/g, '&#39;')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;');
    }
</script>
于 2012-08-03T11:53:21.723 に答える
0

ショートバージョン:いいえ。

実際には、iframe で実行できるスクリプトは、iframe に読み込まれたページ内のスクリプトだけです。

このようなことをしたい場合、方法はありますが、きれいではありません。ajax リクエストを使用して、iframe に含まれるページを解析し、それをページにロードできます。または、iframe ページ全体を再作成するサーバー側スクリプトを作成してから、インターフェースをオーバーレイとして追加することもできます。

これはどれもきれいではありません。フィッシャー、スクレイパー、スパマーのせいにする。

于 2012-08-03T11:40:36.047 に答える