回发不用于Firefox for asp.net(C#)页面

我有一个mozilla firefox的问题。

我正在使用asp.net语言开发一个网站,我在表单中有一个按钮。 当我点击onclick属性按钮时,我正在调用一个函数和这个function做回发。

这个场景是工作铬和互联网探索者。 但它不适用于mozilla firefox。 我在控制台中收到此错误:TypeError:访问严格模式调用函数被审查..

我的示例按钮是:

 

我的示例函数是:

 function sampleFunc(reqMessage) { __doPostBack('', reqMessage); } 

我在互联网上搜索 很多人都有这个问题,但没有任何解决方案。

你有关于这个bug的任何解决方案(!)

编辑1:我在jquery网站上找到了一张票 。 根据勾选,thay修复了那个bug。 但我应用了相同的解决方案,但我的错误仍在继续。 🙁

最后我找到了答案。

我正在使用alertfy javascript库来弹出消息。 此库正在使用“使用严格”表达式。

我从这个库中删除了这个表达式,现在没有问题。 我的代码适用于所有浏览器。

ASP.Net ScriptManager代码在__doPostBack中使用“caller.callee”调用调用堆栈以检测无限递归。 如果调用堆栈中的任何函数使用“use script”进行解析,那么在FireFox上将失败。 解决方法是使用“use script”范围之外的函数调用setTimeout()来调用调用__doPostBack的函数。 setTimeout让你退出调用堆栈。

我的建议是保持javascript和Html分开..而不是使用内联调用你可以尝试这种方法

请注意,您必须加载jquery才能使其正常工作。

例如:

   

这是一个解决方法 –

将服务器端按钮控制器添加到您的aspx页面 –

  

在您的代码隐藏页面(aspx.cs)上定义将在回发后执行实际工作的事件方法。 现在隐藏这个按钮控制器。

  

不要使用Visible=false因为它根本不会渲染按钮。

现在更改你的javascript函数,只需调用click `btn’

 function sampleFunc() { $('#btn').click(); } 

并在您的HTML输入按钮onclick方法中调用此函数 –