Chrome内核下由ashx输出的js代码不起作用的解决方法,需要的朋友可以参考一下
复制代码 代码如下: public class Script { public static void Alert(string message) { ResponseScript(" alert('" + message + "');"); }
public static void ResponseScript(string script) { HttpContext.Current.Response.Write("<script type=\"text/javascript\">\n//<![CDATA[\n"); HttpContext.Current.Response.Write( script ); HttpContext.Current.Response.Write("\n//]]>\n</script>\n"); } }
在form.ashx中调用:
复制代码 代码如下: Script.AlertAndGoBack("温馨提示:有重复的用户!");
结果在360的新版6.0中,一直不起作用,只是输出了
复制代码 代码如下: <script type="text/javascript"> //<![CDATA[ alert('温馨提示:有重复的用户!'); window.history.back();
//]]> </script>
但在IE中显示又完全正常。
后来发现,原来360浏览器的极速模式调用的是Google浏览器的Chrome内核,所以Chrome浏览器里这段代码也是不起作用。
解决办法:
复制代码 代码如下: //将: context.Response.ContentType = "text/plain";
//改为: context.Response.ContentType = "text/html";
|