我真正需要的是像Firebug中的悬停元素这样的功能,我们可以从中获取选定的HTML。与iframe交互 - 获取选定的HTML
在我们的程序中,我们将加载一个URL,并且该URL将在iFrame中打开。在这里,我们想要悬停这些元素,并且当用户点击某个元素时,我们需要该特定元素的HTML源代码。
所以:
- 你能互动(获取悬停HTML)与内嵌框架,所以你得到的选择HTML?
我真正需要的是像Firebug中的悬停元素这样的功能,我们可以从中获取选定的HTML。与iframe交互 - 获取选定的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>
Short version:no。
实际上,您可以在iframe中运行的唯一脚本是加载在iframe中的页面中的那些脚本。
如果你想做这样的事情,有一种方法,但它并不漂亮。 您可以使用ajax请求来解析iframe中的页面,然后将其加载到页面中。 或者,您可以编写一个重新创建整个iframe页面的服务器端脚本,然后将您的界面添加为叠加层。
没有一个是漂亮的。责怪钓鱼者,刮板和垃圾邮件发送者。
如果内容加载是跨域的,你不能与iFrame交互。 – ninja 2012-08-03 11:36:37