Chrome内核下由ashx输出的js代码不起作用的解决方法
程序员文章站
2024-03-04 11:55:59
复制代码 代码如下:public class script { publi...
复制代码 代码如下:
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";