【问题标题】:Two jQuery scripts are not working simultaneously on IE6两个 jQuery 脚本不能在 IE6 上同时运行
【发布时间】:2011-04-08 10:35:48
【问题描述】:

我有 jQuery 的 2 个功能:

  1. 下拉菜单。

  2. 拖放面板。

问题

下拉菜单使用 jQuery 作为 Internet Explorer 7 以后的修复...

当我稍后在拖放面板 jQuery 之后的页面头部调用 jQuery fix for Internet Explorer 7 时,下拉面板 jQuery 工作正常,但拖放面板停止工作。

当我稍后在拖放面板之前调用 Internet Explorer 7 修复 jQuery 时,面板可以正常工作,但下拉菜单不起作用...

它只发生在 Internet Explorer 6 中。 签入IE6 按钮工作,但面板不工作 http://global.redhatsalesteam.com/buttons_working/

面板工作,但按钮不工作 http://global.redhatsalesteam.com/drags_working/

【问题讨论】:

  • 不,没有足够的细节。您需要在此处发布代码。
  • 我投票我们责怪 IE 并关闭话题!玩笑。现在认真地发布一些代码,尤其是给出一些问题的修复程序。
  • IE6 在这一点上是彻头彻尾的史前时代。您是否考虑过检测 IE6 并指示用户升级到现代版本的 IE,然后再让他们使用您的页面?
  • 取决于您的受众和统计数据... 1 000 000 的 1% 是 10 000 个用户
  • 尽管@Madmartigan 我感到你很痛苦,但你应该认真联系你的 IS/IT 部门,询问何时可以获得更新的、安全的网络浏览器。对 IE6 的支持正在快速下降……微软“仅”支持(在 XP 的特定风格上)。 IE6 已经 10 岁了。请把它放牧。

标签: javascript jquery


【解决方案1】:

http://www.bringdownie6.com/

这个。这是你需要看的。

【讨论】:

  • 我也支持...但是您应该将其传递给我的公司所有者或公司客户...:P
  • Errr 你无能为力来“关闭”IE。你只需要耐心等待。如果你真的想抨击 IE 用户,就让你的网站看起来像垃圾。或者你的意思是链接here? :)
  • 大声笑,拯救 IE6...杀死那个制作那个网站的人
  • @Calum,我的反对意见。再次阅读 OP 评论。他很可能是为别人做这份工作。这些东西对于您的个人博客或其他任何但没有报酬的工作都可以,特别是如果您有报酬让网站在 IE6/7 上运行。话虽如此,我正在走出这个注定要失败的车队。
【解决方案2】:

您期望的开源 jQuery 3rd 方插件 a) 编写良好,b) 独立且在 IE6 上进行了彻底的单元测试,c) 不与任何其他 jQuery 插件冲突。

这些目标是无法实现的。

解决方案是自己从头开始编写功能。如果您想要 IE6 支持,您需要进行手工剪裁,是的,这将使您的项目时间从 10 分钟的 jQuery 插件组合到几天编写可维护和可持续的 IE6 代码。

您还使用 jQuery 1.3.2 和 jQuery UI 1.7,如果您不将您的 jQuery 版本升级到最新版本,其中包含许多针对 IE6 的错误修复,您如何期望完全支持 IE6。

【讨论】:

  • FWIW(可能什么都没有)我现在在 IE6 的 jquery UI 站点上,一切正常。
  • @Madmartigan 但他们正在运行最新版本的 jQuery UI (1.8.11)。您是否尝试过在 IE6 上运行 jQuery UI 1.7.2.custom 的 QUnit 测试和 jQuery 1.3.2 的 QUnit 测试?
  • @palsingh 调试 jQuery UI 并更改您的 jQuery UI.1.7.2.custom 文件以在 IE6 中没有任何错误。从在 IE6 中运行 QUnit 测试开始。添加一些 QUnit 测试以一起运行拖放和下拉菜单。然后让 QUnit 测试通过。
  • @Raynos 我同意你(我的赞成票),同时不同意其他所有人,让 OP 知道这并非没有希望,继续努力。
  • @Madmartigan 使用过时的 jQuery 脚本并期望它们在 IE6 中开箱即用,这要求有点多恕我直言
【解决方案3】:

终于找到解决方案了 :D 只需将其放在源 jquery 之间

var $jq = jQuery.noConflict();

举例

<script type='text/javascript' src='js/jquery_1.3.js'></script>

<script type='text/javascript'>

var $jq = jQuery.noConflict();

</script>

<script type='text/javascript' src='js/jquery_1.2.js'></script>

【讨论】:

  • 您使用两个版本的 jQuery 吗? WHY 请将您的 jQuery all 升级到 1.4+ 或至少 1.3.2。这只是 现在 修复的一个肮脏 hack,你的代码的维护者会讨厌你。
  • 如何升级...我不知道...如果您能帮我解决这个问题,请帮我
  • jquery.com 下载jQuery 1.5.2 版并将所有&lt;script src="js/jquery_x.x.js"&gt; 更改为&lt;script src="js/jquery_1.5.2.js"&gt;。然后运行您的测试并修复由依赖旧版本 jquery(1.3 和 1.2)的旧脚本引起的任何错误
猜你喜欢
  • 1970-01-01
  • 2010-11-23
  • 1970-01-01
  • 2020-06-02
  • 1970-01-01
  • 2019-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多