Javascript ASP:Hyperlink在Firefox中抛出回发,但在chrome中没有
令人困惑的是,或许不是,我不希望它回发,因为它正在加载一个包含内容的弹出窗口,但回发关闭了弹出窗口 代码非常简单,它只是一个标准的asp:Hyperlink。我看不出任何可能导致这种情况的原因,我主要困惑的是,每个浏览器如何以及为什么对它的处理如此不同 我唯一能想到的就是和JS在一起Javascript ASP:Hyperlink在Firefox中抛出回发,但在chrome中没有,javascript,c#,asp.net,Javascript,C#,Asp.net,令人困惑的是,或许不是,我不希望它回发,因为它正在加载一个包含内容的弹出窗口,但回发关闭了弹出窗口 代码非常简单,它只是一个标准的asp:Hyperlink。我看不出任何可能导致这种情况的原因,我主要困惑的是,每个浏览器如何以及为什么对它的处理如此不同 我唯一能想到的就是和JS在一起 event.preventDefault(); 有人知道这是什么原因吗 我正在用一个新的源代码重新加载一个iFrame,它位于页面上,但它迫使整个页面只能在firefox上发回 iFrame.attr('src'
event.preventDefault();
有人知道这是什么原因吗
我正在用一个新的源代码重新加载一个iFrame,它位于页面上,但它迫使整个页面只能在firefox上发回
iFrame.attr('src', newSrc);
代码的其余部分:
$('.button-try-glasses').on('click', function (event) {
var modal = $('#modal-container');
var newAsset = $(this).attr('data-asset');
var iFrame = modal.find('iframe');
var currentIFrameSrc = iFrame.attr('src');
var newSrc = currentIFrameSrc.substring(0, (currentIFrameSrc.lastIndexOf("/") + 1)) + newAsset;
iFrame.attr('src', newSrc);
Trylive.parse();
showPopup($(null), '#modal-container', true);
event.preventDefault();
});
如果我注释掉.attr行,它不会更新源代码,但也不会回发然后关闭组件 要准确回答问题,我们需要您的aspx和js代码。快速点击并尝试。一定有一些Js错误。你可以写
return false;
在Js代码的末尾。正如其他人提到的,我们需要您的aspx和Js代码 但是作为一种解决方法,您可以尝试使用asp UpdatePanel包装您的ifram,这应该可以修复它
$('.button-try-glasses').on('click', function (event) {
event.preventDefault(); //put it here
....
return false; //this must be last line
});
希望对您有效看起来问题在于您试图在iframe中加载的页面。iframe中的javascript可以执行类似top.location=post url或window.parent.location=post url的操作 您是否可以尝试在iframe中打开另一个类似google.com的url,看看问题是否仍然存在
iFrame.attr'src' 您可能想尝试检查以下选项是否存在错误- 调用顺序=>在显示模态后,调用加载或模态内容总是一种更好的方法。因为在显示情态动词的容器之前,您可能无法在代码中使用它们。例如,调用iFrame.attr'src',newSrc;执行showPopup$null后,“模态容器”,true;这可能是个好主意 检查Url=>确保正确生成Url,并且您尝试加载的Url支持CORS 我已经用Twitter引导程序进行了测试,试图在modal中加载iframe,它工作得非常好。你可能想在查看代码,这可能会帮助你解决你的问题 以下是modal中加载的内容的屏幕截图-
你能展示完整的js代码吗?你能发布你的HTML和完整的js代码吗?或者创建fiddle。它还没有到代码的末尾。它到达了iFrame.attr'src',newSrc;然后开始回发。如果你的链接也在另一个iframe中,那么这一行将其src设置为新的位置,这将导致回发。因此,请尝试通过id获取所需的帧。只有一个iframe受到影响。但它仍然会导致回发,而且只在Firefox中出现。代码中的回发还没有达到这个程度。它正在iFrame.attr'src',newSrc行上开始回发;嗨,谢谢你。我使用了JSFIDLE,发现如果删除html中声明的初始iframe src,它将不会回发。你能解释一下为什么会这样吗?