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

如何在IE9PHP中保持浏览器模式不变,php,javascript,html,internet-explorer,codeigniter,Php,Javascript,Html,Internet Explorer,Codeigniter,嗨,我在IE9中使用我的站点时遇到问题。问题是 我有浏览器模式:IE9,文档模式:IE9 我打开一个新的浏览器弹出窗口。该窗口的浏览器模式更改为IE8,文档模式更改为Quirks。这使得网站无法注销 有没有办法通过PHP、JavaScript或HTML保持浏览器模式不变 我使用的是window.open(数据'Gmail','height=500,width=500')打开一个新窗口 请帮忙 更新 成功验证好友列表后,我可以邀请他们访问我的网站 在IE中 站点注销。嗯,当你调用弹出窗口时,

嗨,我在IE9中使用我的站点时遇到问题。问题是

我有
浏览器模式:IE9
文档模式:IE9

我打开一个新的浏览器弹出窗口。该窗口的
浏览器模式更改为IE8
文档模式更改为Quirks
。这使得网站无法注销

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

我使用的是window.open(数据'Gmail','height=500,width=500')打开一个新窗口

请帮忙

更新

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

在IE中


站点注销。

嗯,当你调用弹出窗口时,你调用的是一个URL;如果url是外部站点,则由他们决定;但是看看你的图片,它看起来像是一个包含某种OpenID的自定义页面?所以,如果它真的是一个自定义页面,那么您必须为此使用一个控制器

好的,在该控制器中,加载一个包含正确DOCTYPE的有效html头的视图(可能使用HTML5
)。可能您的弹出页面只是一个html片段,而不是一个完整的页面。让它成为一个有效的html页面,你应该会没事的

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

上次评论后更新。
外部页面根本不包含DOCTYPE,因此您的浏览器将按照他喜欢的方式呈现它。但是你让我在这个问题上三思:这个页面是一个谷歌OpenID页面,你到底是如何在你的网站上注销的??它是外部的,不是你系统的一部分。当然,在谷歌页面上你没有经过认证!或者你的意思是当弹出窗口被调用时,在你的站点上你会被断开连接(没有任何原因)?什么时候发生

更新2

我明白了。问题是重定向到您的站点发生在弹出窗口中,这是一个您目前无法控制的页面,因为它是作为外部url启动的

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

  • 它们可能会被用户阻止。弹出窗口拦截器是一种常见的浏览器工具,即使对于非技术用户也是如此
  • 正如您所见,当页面处于外部时,您将失去对页面的控制
  • 它们是10年前的最新流行,现在我们有了其他更优雅、更酷的解决方案:)

其中之一是不提供弹出窗口。即使如此,它也不会这样做,它只是将您指向OpenID提供程序,并在响应正常时将您重定向回。这对用户(和你)来说都是好得多,而且不会让人沮丧。否则,您可能会使用lightbox实现与弹出窗口相同的功能,即在div或frame中加载外部站点,但我不确定这是否会按预期工作<我的建议是在谷歌页面上进行简单的重定向
简单、干净、无麻烦。

我的弹出窗口url是,因此它是一个外部站点。那么我能做什么呢?我检查窗口的HTML。正如你所说,没有doctype,我更新了我的答案。再想一想,我不明白你的问题:D.你是什么意思?这是一个外部页面,它与站点的会话有什么关系?它不清晰身份验证后,我会获取我的好友列表并重新重定向到该站点,并显示我的好友列表,如果浏览器模式发生更改,我认为会话已清除