问题标签 [safari]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
30048 浏览

cookies - 如何在 Safari 中的 iframe 内设置来自外部域的 cookie?

来自 Apple开发人员常见问题解答

Safari 附带了一个保守的 cookie 策略,该策略将 cookie 写入仅限于用户选择(“导航到”)的页面。

默认情况下,Safari 仅允许来自您直接导航到的站点的 cookie。(即,如果您单击带有该域名 url 的链接)。

这意味着,如果您使用 iFrame 从您自己的站点加载一个页面,该页面来自另一个站点的页面,则另一个站点无法设置 cookie。(例如,售票处)。一旦您直接访问了其他域,其他站点就能够访问和更改其自己的 cookie。

如果无法访问其他站点上的代码,我如何才能使用户体验尽可能不显眼?

是否有(javascript?)方法来检查是否已设置其他站点的 cookie,并相应地,如果需要,首先显示指向其他站点的直接链接?

更新:

HTML5 功能“window.postmessage”似乎是一个不错的解决方案。
有一些 jQuery 库可能会有所帮助,并且与最新的浏览器兼容。
本质上,iFrame 文档使用 Json 通过 window 元素发送消息。

非常好的Postmessage-plugin,由 daepark 提供,我开始工作了。
和另一个jQuery postMessage,我发现了 Ben Alman,但尚未测试。

0 投票
2 回答
5694 浏览

jquery - 在 Chrome/WebKit/Safari 中禁用锚点

考虑以下代码:

在 IE 和 FF 中,这将使锚点无法点击,但在基于 WebKit 的浏览器(Google Chrome 和 Safari)中,这无济于事。disabled 属性的好处是它很容易被删除并且不会影响 href 和 onclick 属性。

您对如何获得所需结果有任何建议。答案必须是:

  • 很容易恢复,因为我想在运行 AJAX 调用时禁用表单输入控件。
  • 必须在 IE、FF 和 WebKit 中工作
0 投票
10 回答
6449 浏览

safari - Google Chrome 显示的页面是否与 Safari 相同?

鉴于 Chrome 和 Safari 使用 webkit,有没有人发现任何在 Chrome 上呈现与 Safari 不同的东西?目前是否有任何理由在两者上测试网站,或者现在测试 Safari 就足够了?

0 投票
3 回答
2133 浏览

css - 带有表单元素的 CSS 浮动 div 在 Mac 上的 Safari 3 中消失

我正在一起粗略布局并进行一些浏览器测试。以前从未遇到过此问题,请查看本页页脚中的联系表

http://staging.terrilynn.com/fundraising/

有一个宽度为 298px 的 div 向右浮动,在源顺序中排在第一位。紧随其后的是其他几个 div,每个 div 的子表单元素都向左浮动。

应该出现在右侧浮动消息 div 左侧的 div 正在消失。

页面在 Firefox 中正确显示。任何帮助,将不胜感激。

0 投票
7 回答
3292 浏览

css - Firefox 或 Safari 不会重新加载样式表图像

我们发现 Firefox(至少 v3)和 Safari 不能正确缓存从 css 文件引用的图像。图像被缓存,但它们永远不会刷新,即使您在服务器上更改它们也是如此。一旦 Firefox 将图像放入缓存中,它就永远不会检查它是否已更改。

我们的 css 文件如下所示:

问题是,如果我们现在更改 newsitem_background.jpg 图片,所有 Firefox 用户仍将获得旧图片,除非他们明确刷新页面。另一方面,IE 会检测到图像已更改并自动重新加载。

这是一个已知问题吗?任何解决方法?谢谢!

编辑:解决方案是不要按 F5。我可以做这个。但我们的客户只会访问我们的网站,并获得旧的、过时的图形。他们怎么知道他们需要按 F5?

我已经安装了 Firebug 并确认了我已经怀疑的内容:Firefox 甚至不尝试检索从 css 文件引用的图像,以查明它们是否已更改。当您按 F5 时,它会检查所有图像,并且 Web 服务器很好地响应 304,除了那些更改的图像,它响应 200 OK。

那么,有没有办法促使 Firefox自动更新从 css 文件中引用的图像?当然,我不是唯一一个有这个问题的人吗?

EDIT2:我用localhost测试了这个,图像响应不包含任何缓存信息,它是:

EDIT3:我做了更多的阅读,看起来它无法修复,因为 Firefox 或大多数浏览器只会假设图像不会经常更改(标题和所有内容都过期)。

0 投票
2 回答
26772 浏览

internet-explorer - IE:从空白的空列表中选择数字证书

我创建了一个在 Windows Server 2008 机器上使用 IIS 7 托管的 Web 应用程序。我已经为secure.xxxxx.com 加载了安全证书。

IIS 7 服务器证书 http://img401.imageshack.us/img401/324/certxx6.gif

当我使用Microsoft Internet Explorer浏览网站时,我收到以下提示:

选择数字证书
标识
您要查看的网站请求标识。
请选择证书。

没有证书。这是一个空的、空白的列表。

Internet Explorer 选择数字证书

如果我单击“确定”或“取消”,则页面加载正常。Internet Explorer 没有警告或其他迹象表明存在安全问题。

Microsoft Internet Explorer SSL 安全证书网站标识 http://img207.imageshack.us/img207/8265/ie2yr5.gif

Apple Safari浏览器根本不会显示该页面。

Safari 无法打开该页面。
Safari 无法打开页面 xxxxx,因为它无法与服务器 xxxxx 建立安全连接。

Apple Safari 无法打开页面 http://img80.imageshack.us/img80/2899/safka3.gif

Mozilla FirefoxGoogle Chrome都可以毫不费力地完美加载网站。

Mozilla Firefox SSL 安全证书 http://img158.imageshack.us/img158/6833/foxsk4.gif

谷歌浏览器 SSL 安全证书 http://img367.imageshack.us/img367/7928/chrsx2.gif

为什么 Microsoft Internet Explorer 和 Apple Safari 无法正确加载我的网站?

0 投票
2 回答
4772 浏览

css - 使用空格时 Safari/WebKit 表溢出:nowrap

Safari 有一个奇怪的渲染问题:

我在 div 中有一张桌子。在表 <td> 内,我有很多 div 向左浮动。所以正常显示是 td 内的所有 div 向左堆叠,直到它们填满宽度,然后流到下一行,依此类推。所以是这样的:

这适用于除 safari/webkit 之外的所有浏览器,最终结果如下:

更新:终于解决了问题:我的内部 div(“XXX”)有white-space: nowrap. 显然,webkit 没有包装整个 div 列表,而不是在 div 中应用 nowrap。

那是一个讨厌的。

(这与显示无关:无)

0 投票
7 回答
12016 浏览

javascript - 包装异步 JavaScript 函数以使其同步的模式

我正在使用 JavaScript API,其中大多数功能都是异步的。API 是WebKit JavaScript 数据库 API,它绑定到操作 SQLite3 数据库的功能子集。我理解使事物异步的设计决策,以不阻塞并提供响应式用户界面。在我的情况下,我知道我对异步 API 调用的使用将执行得很快。既然是这种情况,我想为我的开发人员提供一个更简洁、更易于使用的包装 API,它强制同步调用。

这是异步调用

这就是我想做的

有没有设计模式/方法可以做到这一点?首选编写或链接到代码示例。目标平台/浏览器是 iPhone 上的 Mobile Safari。

谢谢

0 投票
5 回答
3892 浏览

ios - 创建 Safari Webarchives 的跨平台方式

我一直在四处寻找,但没有找到任何可以创建 Safari 网络存档格式的工具的参考资料。

有没有人有关于创建这种格式的代码的指针,或者至少有一个格式参考文档?

理想情况下,我想构建一个工具,它可以获取一个目录并拆分一个 webarchive,以便加载到 iPhone 中。

0 投票
4 回答
15878 浏览

iphone - 在 iPhone 上打开 .webarchive?

有谁知道您是否可以在 iPhone 上以编程方式打开 .webarchive?.webarchive 是 Safari 将网页和相关资源打包成单个文件的方式。

我尝试在移动 safari 中创建一个并浏览到一个链接,但它没有用....

注意:我有点希望这可以在没有 3rd 方应用程序的情况下完成,因为它是打包 WebApp 以在 iphone 上使用而不需要第三方工具的好方法。