私が本当に必要としているのは、選択した HTML を取得できる、Firebug のホバー要素のような関数です。
このプログラムでは、URL を読み込み、その URL が iFrame で開きます。ここでは、要素をホバーし、ユーザーが特定の要素をクリックすると、その特定の要素の HTML ソースが必要になります。
そう:
- 選択した HTML を取得できるように、iFrame と対話 (ホバーされた HTML を取得) できますか?
私が本当に必要としているのは、選択した HTML を取得できる、Firebug のホバー要素のような関数です。
このプログラムでは、URL を読み込み、その URL が iFrame で開きます。ここでは、要素をホバーし、ユーザーが特定の要素をクリックすると、その特定の要素の HTML ソースが必要になります。
そう:
ここにあなたが望んでいたようなものがあります。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, '&')
.replace(/"/g, '"')
.replace(/'/g, ''')
.replace(/</g, '<')
.replace(/>/g, '>');
}
</script>
ショートバージョン:いいえ。
実際には、iframe で実行できるスクリプトは、iframe に読み込まれたページ内のスクリプトだけです。
このようなことをしたい場合、方法はありますが、きれいではありません。ajax リクエストを使用して、iframe に含まれるページを解析し、それをページにロードできます。または、iframe ページ全体を再作成するサーバー側スクリプトを作成してから、インターフェースをオーバーレイとして追加することもできます。
これはどれもきれいではありません。フィッシャー、スクレイパー、スパマーのせいにする。