我在一个嵌入了另一个页面的页面中有一个<object>
元素,并按照此处的建议使用iframe回退:http://www.kgsteely.com/information-technology/using--lt-object-gt--instead-of---lt-iframe-gt.19.html
我希望使用带有jquery的下拉列表来更改元素(如果已选中)。我得到了iframe的iframe,但我没有得到该对象的工作。我的javasctript选择器做错了我做错了什么?
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="selector">
<option value="0">Select Project</option>
<option value="http://google.com">Google</option>
<option value="http://yahoo.com">Yahoo</option>
<option value="http://codecanyon.net">CodeCanyon</option>
</select>
<!--[if !IE]>-->
<object data="//themeforest.net" type="text/html" style="width:100%;height:50em;" class="viewer" id="viewer">
<p>Sorry. This content cannot be rendered (non-IE object). Stop living in the past and upgrade to <a href="http://www.abetterbrowser.com">a better browser</a></p>
</object>
<!--<![endif]-->
<!--[if IE]>
<iframe src="//themeforest.net" type="text/html" style="width:100%;height:50em; border: 0" class="viewer" id="viewer">
<p>Sorry. This content cannot be rendered (IE iframe). Stop living in the past and upgrade to <a href="http://www.abetterbrowser.com">a better browser</a></p>
</iframe>
<![endif]-->
<script>
$(document).ready(function(){
$("#selector").change(function(){
$("#viewer").attr("src", $(this).val());
});
$("#selector").change(function(){
$("#viewer").attr("data", $(this).val());
});
});
</script>
由于
答案 0 :(得分:1)
尝试替换:
$(document).ready(function(){
$("#selector").change(function(){
$("#viewer").attr("src", $(this).val());
});
$("#selector").change(function(){
$("#viewer").attr("data", $(this).val());
});
});
对此:
$(document).ready(function(){
$("#selector").change(function(){
$("#viewer").prop("src", $(this).val()).prop("data", $(this).val());
});
});
答案 1 :(得分:1)
你的选择器工作得非常好。如果您检查chrome的错误日志,您可以看到:
Refused to display 'http://themeforest.net/' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
对于您尝试嵌入帧中的其他页面,情况也是如此(或者X-Frame-Options设置为DENY而不是SAMEORIGIN)。最后,如果你试图构建你自己的页面,我不会推荐它,但如果你真的想这样做,请查看this answer
。
还应考虑对链接问题的评论:“如果它们是您的页面,则删除框架限制器。否则,请尊重页面作者的意愿,不要将其框起来。”