【问题标题】:Using <OBJECT> instead of <IFRAME> and Internet Explorer使用 <OBJECT> 代替 <IFRAME> 和 Internet Explorer
【发布时间】:2011-02-18 01:30:49
【问题描述】:
所以我的问题不在于让对象与 IE 一起使用。我有办法摆脱边框和滚动条(我认为)。真正的问题是在对象内部有针对整个屏幕框架的链接。即使使用 target="_top" 和 _parent,它也只会在 IE 中定位自己……即使在 IE8 中也是如此。
这是我刚开始工作的网站上的演示。尝试使用 IE 和任何其他浏览器。 http://thestoryf.webs.com/trip/news.htm
顶部的整个东西是一个对象框架。这 6 个按钮是应该针对整个页面而不仅仅是针对自身的链接。
有没有办法修复它,或者我只是去 iframes 并且有无效的 XHTML?
【问题讨论】:
标签:
html
internet-explorer
iframe
object
target
【解决方案1】:
选择 iframe。摆弄 HTML 的对象嵌入是绝对不值得的。在任何情况下,“目标”对嵌入对象的作用都没有明确定义(标准只讨论帧)。
iframe 在 XHTML 中与在 HTML 中一样有效:两者只是同一内容模型的不同序列化。使用 XHTML 1.0 过渡或 HTML 4.01 过渡。
(话虽如此,我根本看不出您网站上到底有什么需要 iframe。您只是无缘无故地让您的网站对 SEO 不那么友好。如果您只是想改进代码组织,请使用服务器端包括而不是让客户端承担问题。)
【解决方案2】:
我遇到了同样的问题。
我最终使用了 IFRAMES,但发现了一个通过验证的技巧。
在主页上,不要放置<IFRAME ...></IFRAME>,只需对返回<IFRAME></IFRAME> 部分的url 进行ajax 调用并将其加载到页面中的容器中。
w3c 验证器不验证 ajax 部分。
【解决方案3】:
首先在使用 W3 验证器进行验证时,它会显示为无效...但是在使用过渡 DTD 时可能是有效的..
关于使其成为客户端,这确实是一个老项目,而且 Freewebs 不支持 PHP 或 Perl;我没有费心在我的电脑上运行脚本然后上传它们,所以我会在这个项目中坚持使用 iframe。
所以现在无论如何...我将不得不使用 iframe。无论如何感谢您的帮助。