我一直试图让这个工作正常一段时间......
在一个函数中,我有一个名为portinfotext的ajax调用的响应文本。 (它来自perl telnet脚本,用于在cisco路由器上运行sh ip int $interface
。
然后使用portinfotextbr = portinfotext.replace(/\r?\n/g, '<br />');
要将这些内容放在新窗口中,我有
var infowin = window.open('', '_blank', 'height=600,width=400,toolbar=0,location=0');
infowin.document.open();
infowin.document.write("<HTML><HEAD><TITLE>test</TITLE></HEAD><BODY><BR>"+portinfotextbr+"<BR><CENTER><input type='button' value='Close Window' onclick='window.close()'></CENTER></BODY></HTML>");
infowin.document.close();
这段代码在我的mac上使用safari工作得很好。如果我使用iPad,它会打开一个空白标签。如果我快速单击返回原始选项卡,将加载第二个选项卡的内容。如果我等待的时间过长,单击后退时将无法加载空白选项卡。
更复杂的是,如果我没有在函数中的ajax调用之前输入var infowin声明,我只会在IPAD和IPHONE上出现以下错误,而不是在Mac上
TypeError:'undefined'不是对象(评估infowin.document)
有什么想法吗?