我点击时遇到了点燃事件window.onload
事件,看起来对我不起作用。JQuery Click不起作用window.onload
例如,当我点击复选框时,他们将调用函数来渲染带有内容的iframe。如果取消注释第2行callOnLoad()
,iframe将加载内容,但这不是我所期望的,我期望在复选框被选中时,iframe中的内容将被呈现。
我点击时遇到了点燃事件window.onload
事件,看起来对我不起作用。JQuery Click不起作用window.onload
例如,当我点击复选框时,他们将调用函数来渲染带有内容的iframe。如果取消注释第2行callOnLoad()
,iframe将加载内容,但这不是我所期望的,我期望在复选框被选中时,iframe中的内容将被呈现。
我认为你要下面的事情: -
的iframe将显示在页面加载(或窗口负载),但文字显示/时复选框选中消失/选中?
如果是做象下面这样: -
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<input type="checkbox" id="cgv" />
<div id="foo"></div>
</body>
<script>
$(document).ready(function() {
callOnLoad();
$('#cgv').on('click', function(e) {
if ($('#cgv:checked').length !== 0) {
$('#iframe').contents().find("body").append('Test <br/>' + new Date());
} else {
$('#iframe').contents().find("body").html('');
}
});
});
// Function render iframe
function callOnLoad() {
$("#foo").append("<div id=\"div-parent\"><iframe id=\"iframe\"></iframe></div>");
}
</script>
感谢'活着死',你的昵称让我感到恐慌...... LOL ...它是处理我的问题的一种非常聪明的方式,但重点是那些iframe不是从我的服务器渲染的,而是从另一个源渲染的,我们无法编辑或更改iframe,它会导致'阻止与我的服务器URL“我的服务器URL”访问跨源框架。' –
@MikeNguyen如果iframe通过第三方来,那么你不能做任何事情在你的末尾。对不起但是真的 –
检查Fiddle
JS:
// Add your javascript here
$(function() {
$('#cgv').on('click', function(e) {
if ($('#cgv:checked').length !== 0) {
callOnLoad(); // Load iframe here, iframe does not work, the content does not render
} else {
$('#div-parent').remove(); // Remove div,
}
});
});
// Function render iframe
function callOnLoad() {
$("#foo").append("<div id=\"div-parent\"><iframe id=\"iframe\" class=\"active\"></iframe></div>");
var iframe = $("#foo").find('[id="iframe"]');
iframe.contents().find("body").append('Test <br/>' + new Date());
}
HTML:
<input type="checkbox" id="cgv" />
<div id="foo">
</div>
感谢RonyLoud,我还没有测试过它,但它是处理我的问题的非常聪明的方式......但重点是这个iframe是从另一个URL渲染的,我们不能追加任何内容会导致跨上下文iframe。 ..bla bla ... –
所以你W¯¯蚂蚁iframe将显示在窗口加载和文本出现时复选框点击? –
如果单击复选框,则不会有事件发生。只有在进入页面时才会触发onload。 – hydrococcus