Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ASP:Hyperlink在Firefox中抛出回发,但在chrome中没有_Javascript_C#_Asp.net - Fatal编程技术网

Javascript ASP:Hyperlink在Firefox中抛出回发,但在chrome中没有

Javascript ASP:Hyperlink在Firefox中抛出回发,但在chrome中没有,javascript,c#,asp.net,Javascript,C#,Asp.net,令人困惑的是,或许不是,我不希望它回发,因为它正在加载一个包含内容的弹出窗口,但回发关闭了弹出窗口 代码非常简单,它只是一个标准的asp:Hyperlink。我看不出任何可能导致这种情况的原因,我主要困惑的是,每个浏览器如何以及为什么对它的处理如此不同 我唯一能想到的就是和JS在一起 event.preventDefault(); 有人知道这是什么原因吗 我正在用一个新的源代码重新加载一个iFrame,它位于页面上,但它迫使整个页面只能在firefox上发回 iFrame.attr('src'

令人困惑的是,或许不是,我不希望它回发,因为它正在加载一个包含内容的弹出窗口,但回发关闭了弹出窗口

代码非常简单,它只是一个标准的asp:Hyperlink。我看不出任何可能导致这种情况的原因,我主要困惑的是,每个浏览器如何以及为什么对它的处理如此不同

我唯一能想到的就是和JS在一起

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,它将不会回发。你能解释一下为什么会这样吗?