我真正需要的是像 Firebug 中的 hover-element 这样的功能,我们可以在其中获取选定的 HTML。
在我们的程序中,我们将加载一个 URL,该 URL 将在 iFrame 中打开。这里我们想要悬停元素,当用户点击某个元素时,我们想要那个特定元素的 HTML 源代码。
所以:
- 您可以与 iFrame 交互(获得悬停的 html),从而获得选定的 HTML 吗?
我真正需要的是像 Firebug 中的 hover-element 这样的功能,我们可以在其中获取选定的 HTML。
在我们的程序中,我们将加载一个 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 页面,然后将您的界面添加为覆盖。
这些都不漂亮。责备网络钓鱼者、抓取工具和垃圾邮件发送者。