我使用iframe
在Fancybox中加载了一个页面。但是当我尝试在iframe
内执行jQuery函数时,它将无法工作。如何访问iframe
页面或内容,以便我可以在该页面上执行jQuery
?
我在下面尝试了这个但是没有用。
jQuery(document).ready(function(){
parent.jQuery("#showcasef", jQuery.browser.msie ? parent.jQuery('body')[0] : parent.jQuery(document)).live('submit', function(e) {
e.preventDefault();
return false;
var pho_id = jQuery('#pho_id').attr('value');
var showcase =jQuery("#showcase_pho option:selected").val();
var action = "showcasep";
alert("here");
}
);
});
答案 0 :(得分:2)
您需要在iframe
内再次包含jQuery,或尝试...
parent.$('body').text('Does it work?');
或者如果那个太长,请制作一个包装
function $() {
return parent.jQuery.call(this, arguments);
}
答案 1 :(得分:1)
如果两个文档都依赖于同一个域,则可以通过在您的语句中添加“parent”来访问jQuery。
示例:
<body>
<script>
alert(parent.$('body',document).html())
</script>
</body>
注意第二个参数设置为document。建议这样做,否则上下文将是父窗口的文档,而不是iframe内的文档。 但是,由于我不知道这种用途是否真的安全,特别是如果你使用外部插件,我宁愿另外包括。