【问题标题】:Best way for cross browser applications跨浏览器应用程序的最佳方式
【发布时间】:2011-02-03 20:06:30
【问题描述】:

在我们的组织中,我们仍处于 .net 1.1 环境中,使用 javascript、一些开源应用程序/小部件。使用 Visual Studio 2003、网格视图和 iframe 完成开发。我们的应用程序在 Internet Explorer 7 和 IE 8(兼容模式)下工作。谁能给出我们可以采取的任何基本步骤来让我们的应用程序跨浏览器工作?我们可以从哪些起始位置开始使现有代码在不同的浏览器中运行?

【问题讨论】:

  • 它可能会在很多地方中断。您应该发布不起作用的具体示例,否则就是胡扯。假设您不想要关于如何开始正确构建它的建议,因为它似乎已经准备好迎接黄金时段了。
  • 我们在顶部有一个 iframe,在左边有一个 iframe,可以滑出并滑回,中间有一个主 iframe。除了网格视图使事物脱离线并导致事物重叠之外,主要问题是我们无法与主 iframe 交互。

标签: asp.net cross-browser .net-1.1


【解决方案1】:

使用 jQuery 实现可靠的跨浏览器 JavaScript

是 VS 2k 还是 VS 2k3 通过重写他们的 HTML 来“帮助”开发人员(全部大写)?

【讨论】:

  • Visual Studio 2003 通过编写 html“帮助”了开发人员
【解决方案2】:

使您的 HTML 标记标准符合要求。我发现按照 W3C 标准开发我的网站可以确保我的网站可以在所有主流浏览器中运行。

我也在 Firefox 中开发,然后使用条件样式表修复 IE。

.NET 版本与浏览器兼容性无关。

【讨论】:

  • 不反对,但 .Net 2.0 在生成符合标准的代码方面做得更好。
  • 同意,指的是更多关于模板标记而不是控制生成的 HTML,如果不升级整个应用程序,他无法更改。
【解决方案3】:
  1. 安装并运行 Firefox(并获取 Firebug 插件)。
  2. 输入您的应用程序并打开 Firebug 控制台 (F12) 以查看您的应用程序遇到了什么问题。 (在控制台选项卡中)
  3. 从错误开始。
    1. 将执行 document.all.xxxx 之类的所有 JavaScript 更改为使用 document.getElementById()document.forms['name']。元素['name'] 等。
    2. 更改任何仅使用 IE 样式的 CSS。例如"cursor:hand" 应该是 "cursor:pointer" 等等。
  4. 在所有错误消失后重复警告
  5. 如果您的应用程序在 Quirks 模式下运行,请考虑添加一个 doctype,以便您可以在标准模式下呈现(使 CSS/JS 更加兼容)...但是请注意,这很可能会“搞砸”您的页面一点点,直到你解决问题为止。
  6. 以后一定要在所有主流浏览器中测试。我建议先在 Firefox 或 Chrome 中开发,然后根据 IE 需要进行调整。

【讨论】:

    【解决方案4】:

    .Net 在其 2.0 迭代中很多更好地(与 1.1 相比)生成跨浏览器,当然 更多 符合标准的代码(虽然不完美任何方式)。

    如果您可以升级到 2.0,这将使您在标准合规方面取得很大进展(除非您自己的控件/html 呈现为非跨浏览器的 html 和/或 javascript;那将是第一个要解决的主要问题)。

    在 .Net 2.0 中,不要忘记在 web.config 中适当地设置 xhtmlconformance attribute(例如,如果您的目标是 xhtml)。这会全局影响您的控件生成的 html。

    【讨论】:

      猜你喜欢
      • 2011-08-19
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 2018-02-05
      相关资源
      最近更新 更多