我正在寻找有关人们开发跨浏览器的网站体验的反馈。在我看来,至少有两种明显的方法来完成使您的网站/ webapp跨浏览器工作的任务:
每种方法都有一个明显的缺点 - #1的问题是你最终会做很多不必要的工作 - 特别是如果你正在开发一个经历了大量迭代/原型设计/尖峰等的webapp。你将在浏览器中制作一堆东西,随后将被丢弃/删除。
#2方法的缺点在于,虽然它使初始开发更快更痛苦,但却更难以找出某些特定错误出现的位置,特别是对于更复杂的问题 - 而如果你曾经立即开发所有浏览器,你应该马上抓住它,并知道引入问题的变化。
一个有点明显的第三种选择是混合方法,但在我看来,你最终会因为体验#1和#2的问题而失去更多,而不是从两者的好处中获益。 / p>
您发现什么是应对这一挑战的最有效方式?
答案 0 :(得分:9)
我发现,如果你在没有查看其他浏览器的情况下深入开发网站,你很快就会到达一个令人头疼的地方进行调试。我一直在我关心的所有浏览器中打开我的网页。
我强烈建议您在每次对网站进行大量更改时验证所有浏览器。
答案 1 :(得分:3)
让它与所有浏览器一起使用。这将意味着在开发过程中进行额外测试,但以后会减少您的痛苦。我发现,如果我刚刚开发了这个问题,通常会更容易诊断问题,而不是稍后回来并试图弄明白......以及其他问题列表。
答案 2 :(得分:2)
这在一定程度上取决于你是否知道它必须预先在所有浏览器中工作。如果你这样做,那么你最好只是开始跨浏览器。您不需要测试每一步都是100%兼容的,但您应该对此进行编码。
实际上,并不是那么难,尤其是jQuery和Dojo这样的JS框架可以解决这些问题。如果您发现自己不断地与一个或另一个浏览器作战,您可能想重新考虑您的设计,因为您可能选择以跨浏览器兼容性很重要的方式执行某些事情。
答案 3 :(得分:2)
嗯,你做的是#1,但你在做一个风格指南时这样做。有点像这样:http://www.sitefromscratch.com/content/html-xhtml-css-testing。
因此,在设计新网站或设计时,您需要创建一个页面,其中包含将在您的网站上使用的所有可视元素的所需HTML。暂时忽略样式,只需使用最有意义的HTML。
然后你设计它。优选地,您的样式指南将全部在1页上,因此它可以在您支持的每个浏览器中打开,您需要做的就是在更改之间点击刷新,(避免选择多个页面,因为它需要更长的时间来检查他们都。)
构建网站时,请从样式指南构建。如果它不在样式指南中,请先添加并在那里进行测试。如果您在构建网站时发现问题(例如,在包装时可能没有考虑特定元素),请在样式指南中复制并修复问题。
这是杀手锏的优势:发布了一个支持的浏览器的新版本,您希望测试的内容,整个网站或样式指南?
所以这就是CSS所处理的,现在你需要使用你的通用JS函数来完成它。如果有的话。
答案 4 :(得分:1)
我在浏览器和我的代码之间创建了一个接口兼容层 - 基本上,我包装了某些功能,并使包装器确定了需要的javascript / html。
随着浏览器的更改,您可以更改此兼容性层,并且可以单独保留其余代码。
如果您的架构中有此图层,则您的问题的答案将变为“随时”。
答案 5 :(得分:1)
如果您可以获得企业锁定功能,那么多个浏览器支持可能会成为一个问题,例如:如果您的客户都是使用Internet Explorer的公司,那么为什么要建立网站以在Safari或Chrome中看起来很好?
如果您正在为普通大众制作一些内容,那么我会使用一种混合方法,即我使用一个浏览器来获取所有功能并运行,然后在浏览器中进行测试时“预备“项目的阶段。最初关键是它的工作,然后它必须看起来很好。
我不认为我可以看到在所有浏览器上进行测试的逻辑,因为我最初填写表单或执行其他一些基本功能,因为它可能是一个很大的生产力消耗,可以在至少几个浏览器中进行测试,例如: IE 6& 7,Firefox 2和3,Opera 9.5,Safari和Chrome如果想要得到所有大男孩,并且至少有几个O / S作为Mac上的Safari可能与Windows上的Safari不同,这是很多甚至只测试一两页。另一方面,接近结束时,这是我可以重构我的CSS和内联样式,并使代码更好地交给其他人维护,存档直到计划一个Service Pack项目,或保留一些文件以防万一有些事必须得完成。此外,通过等待清理工作,我可以对最终的UI部分更有信心,因为这些部分可以在很短的时间内发生变化。
答案 6 :(得分:1)
我通常开始确保我编写/使用的所有HTML和控件都符合规范。
工具 - >选项 - >文字编辑器 - > HTML - >验证 - >检查显示错误并选择目标
这使我开始坚实的基础。我在一个浏览器中对新功能进行功能测试,然后每天大约一次/两次在所有浏览器中测试它们的全部功能。
使用这种方法,当某些东西不正确时,CSS和JS是常见的嫌疑,很少见它是实际的HTML标记。
答案 7 :(得分:1)
如果你能在第一时间做到这一点。就这么办。它可能永远不会在以后。
答案 8 :(得分:0)
主要取决于您的体验,可以应用于任何编程活动,包括此活动。如果你事先知道你将不得不避免哪些陷阱(例如,在跨浏览器开发中,不要通过尝试做一些在不同浏览器中麻烦的事情来使自己变得困难) ,那么你可以安全地在一个浏览器中开发所有内容,然后在完成之后进行调整并调整一些东西以使其在任何地方都能正常工作。
我通常建议初级开发人员在开发过程中保持所有浏览器处于打开状态,并在进行更改时刷新每个浏览器,但我自己倾向于使用Firebug编写所有内容以获得支持,然后回过头来看看它在IE7(等)之后是如何做的。由于我已经这样做了好几年了,大部分时间我都能预测会导致头痛的原因,并且通常会立即知道在哪里修复它。
答案 9 :(得分:0)
如果您是网页设计/开发的新手,那么在不同的浏览器中正确处理事情有时可能是件苦差事。
然而,让网站在每个主要浏览器中运行并编码为W3C标准并不困难。在我看来,每个设计师/开发人员都应该原则上做到这一点,否则他们并不比IE年代更好。
开发跨浏览器代码,确保它验证并且不再考虑再次为一个浏览器进行设计。