如何在IE9 php中保持浏览器模式不变

时间:2011-11-14 05:38:59

标签: php javascript html internet-explorer codeigniter

嗨我在IE9中使用我的网站时遇到了麻烦。事情是

我有browser mode:IE9document mode:IE9

我打开一个新的浏览器弹出窗口。那个窗口是browser mode change to IE8document mode to Quirks。这使网站退出。

enter image description here

有没有办法通过PHP或JavaScript或HTML保持浏览器模式不变。

我正在使用window.open(data, 'Gmail', 'height=500,width=500');打开一个新窗口

请帮助........................................

更新

成功验证朋友列表后,我可以邀请他们访问我的网站

enter image description here

IE中的

enter image description here

网站退出。

1 个答案:

答案 0 :(得分:1)

好吧,当你拨打一个弹出窗口时,你正在调用一个URL;如果网址是外部网站,则取决于他们;但是看看你的图片,看起来像是一个包含某种OpenID的自定义页面?所以,如果真的是一个自定义页面,你必须使用一个控制器。

好吧,在那个控制器中,加载一个包含带有正确DOCTYPE的有效html标头的视图(也许使用html 5 <DOCTYPE! html>)。可能是您的弹出页面只是一个html片段,而不是整页。使它成为一个有效的HTML页面,你应该没事。

如果您有兴趣,CI在URL帮助程序中有anchor_popup()函数,它可以帮助您构建弹出窗口,并且通过使用它可以立即看到您的被调用页面是控制器(第一个参数是url,或者完整的一个或CI的一个[“控制器/方法”]。)。

在您上次评论后更新。
外部页面根本不包含DOCTYPE,因此您的浏览器将根据需要进行渲染。但是你让我在这个问题上三思而后行:该页面是一个Google OpenID页面,你在网站上如何注销你?它是外部的,而不是您系统的一部分。当然,在Google页面中,您未经过身份验证!或者你的意思是,当弹出窗口被调用时,在你的网站上你会断开连接(无缘无故)?当它发生时?

更新2

我明白了。问题是,重定向到您的网站会在弹出窗口中发生,这是您此时无法控制的页面,因为它是作为外部网址启动的。

如果你想接受它,这是我的建议:不要使用弹出窗口,主要有三个原因:

  • 他们可能会被用户阻止。即使对于非技术用户,弹出窗口阻止程序也是常见的浏览器工具
  • 您可以看到,当它在外部时,您将失去对页面的控制权。
  • 10年前他们是最新的愤怒,现在我们还有其他更优雅,更酷的解决方案:)

其中一个是不提供弹出窗口。即使SO不这样做,它只会将您引导至OpenID提供程序,并在响应正常时重定向您。这对用户来说要好得多,也不会令人沮丧(对你而言!)。否则,您可能会获得与灯箱相同的弹出窗口功能,在div或框架内加载外部网站,但我不确定这是否会按预期工作。
我的建议是在谷歌页面上进行简单的重定向。
简单,干净,无头痛。