因此,我尝试了多种方法将我加载的内容自动重定向到我的某个页面上的iframe,并且它们似乎总是触发父窗口重新加载/重定向,而不是将iframe定向到其所需的位置。
我知道大多数人都想要相反的情况,当他们在iframe中完成时,他们希望重新加载父窗口或指向其他地方。但在这种情况下,我希望我的脚本继续到另一页。
是否有内置机制不允许iframe在其内部重定向?
让它假装代码是
if(someAction === true) {
window.location = '/some/new/path/index_new.html?param=something';
}
我还尝试使用window.top.location
和window.parent.location
,我想其他一些随机变体。包括在每个变体的末尾附加.href
。如果失败,似乎iframe的父窗口总是重定向而不是实际的iframe本身。
iframe是一个简单的iframe
<iframe src="/original/path/index.html"></iframe>
希望重定向iframe的脚本嵌入/original/path/index.html
答案 0 :(得分:0)
是的。请发布您的代码或代码片段,以便我们了解您正在使用的代码。我使用Iframe作为一个站点,该站点在同一帧内从父页面打开三个不同的页面,并使用cookie来回显数据。但是,请显示一些html div和/或js,以便我们可以看到你希望它如何工作。这是我工作的一些代码。我使用本地存储
function Redirect($page) {
localStorage.setItem('page',$page);
window.location="validateorder.htm";
}
function orderValidate($page) {
localStorage.setItem('page',$page);
$arr = $('iframe').contents().find('form').serializeArray();
$.each($arr,function(i,v){
createCookie(i,v);
});
window.location="ordersummary.htm";
}
$(document).ready(function(){
$('iframe').load(function() {
$page = localStorage.getItem('page');
$subtotal = localStorage.getItem('subtotal');
$tax = localStorage.getItem('tax');
$total = localStorage.getItem('total');
$table = $('iframe').contents().find('td#optionsPrice');
$form = $('iframe').contents().find('#frmContact');
$theform = $('iframe').contents().find('#theform');
if($table.length > 0){
$('iframe').contents().find('td#optionsPrice').text($subtotal);
$('iframe').contents().find('td#tax').text($tax);
$('iframe').contents().find('td#totalPrice').text($total);
}
if($form.length > 0){
$form.find('input').each(function(){
$name = $(this).attr('name');
$type = $(this).attr('type');
if($type != 'button'){
$(this).val(readCookie($name));
}
});
}