1

我真正需要的是像 Firebug 中的 hover-element 这样的功能,我们可以在其中获取选定的 HTML。

在我们的程序中,我们将加载一个 URL,该 URL 将在 iFrame 中打开。这里我们想要悬停元素,当用户点击某个元素时,我们想要那个特定元素的 HTML 源代码。

所以:

  • 您可以与 iFrame 交互(获得悬停的 html),从而获得选定的 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 回答