javascript - Safari PC/Mac 中的 jQuery/JavaScript 问题

标签 javascript jquery safari

我现在快要完成一份契约(Contract)了,但在最后一刻,我的大部分 javascript/jQuery 似乎无法在 PC 或 Mac 上的 Safari 中运行。

整个站点的设计采用渐进式增强和不显眼的 javascript 将 ?p= 链接转换为 # 哈希链接、淡入和淡出页面以及平滑翻转 - 所有这些都已停止仅适用于 Safari。

我读到 Safari 可能无法处理大型 .js 文件,但我的 jquery 页面不到 10k,而我使用的压缩 jquery 库大约为 55k。

这是我现在拥有的,适用于最新版本的 IE、FF 和 Chrome - test.cultureconquest.com

最佳答案

当我运行 jslint 时暴露出许多错误你的代码的主体。很多小东西,比如缺少分号。其他事情,例如将变量命名为“class”,这是 JavaScript 中的保留字,可能是个问题。

您有一些逻辑可以使用真正的 jQuery 习惯用法更好地处理。例如你这样做:

var class = $(this).attr("class");
class = class.substr(5);

var ext
if ( class == "ccm" ) {
    ext = "cultureconquest.com";
}
if ( class == "gmail" ) {
    ext = "gmail.com";
}

jQuery 有一个方法来测试一个元素是否包含一个类,hasClass()

var ext;
if ($(this).hasClass("ccm")) {
    ext = "cultureconquest.com";
}
if ($(this).hasClass("gmail")) {
    ext = "gmail.com";
}

我还注意到您正在使用 jQuery 的 livequery() 扩展。在 jQuery 1.3 中添加了等效方法 live()。参见 live()了解详情。

这些是一些要看的东西。如果您可以让您的代码通过 jslint 测试,我敢打赌您将通过很多方式让它在 Safari 中正常工作。

关于javascript - Safari PC/Mac 中的 jQuery/JavaScript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2159224/

相关文章:

javascript - 如何在 Safari 5.1 中使用 Blob

javascript - 左移位以实现对两个 Javascript 的幂的求幂

javascript - 在添加到 svg 之前使用 js 获取宽度元素 <text/> (SVG)

javascript - 使用 JavaScript 从 Iframe 获取内部 HTML

javascript - D3 条形图和面积图的组合

JQuery inArray 返回 true

jQuery FullCalendar 事件重叠(多个事件同一行)

javascript - jQuery:查找所有可见的必填字段

html - CSS - 边框不隐藏在 Safari 中

javascript - 为 iPad 设计网站