javascript - 使用 Opera 在 JavaScript 中更新图像源

标签 javascript image opera

我定期使用 Image 对象加载远程图像,以便稍后在 Canvas 上绘制。 Image 对象仅在 JS 中创建,它不存在于 DOM 中。

该代码在 Chrome 和 Firefox 上运行良好。在 Opera 中,问题在于,每当修改图像源时,浏览器似乎总是切换到“加载模式”,即光标变为“等待”模式,并且 Opera 将“元素:X/Y”添加到地址栏。

测试代码如下:http://jsfiddle.net/nZntU/3/

有人知道这种 Opera 行为的解决方法吗?

最佳答案

我正在使用 Opera,并且知道您所描述的内容(或试图实现的目标)。我将进度条位置设置为“底部弹出”。当我激活该选项卡时,您的示例每秒都会在浏览器底部弹出一个弹出窗口,当我键入此内容时(当您的示例在后台选项卡中处于事件状态时),我的光标每秒都会切换到进度指示器图标.

Opera 默认行为是在地址栏中显示任何进度信息。即使我完全禁用进度栏(设置为“关闭”),我也会注意到通过导航栏中不断变化的重新加载/停止按钮以及地址栏中的短暂闪烁(书签星号消失)进行重新加载。不同的设计/布局/配置中可能还有其他可见的东西。

说实话,您正在试图阻止用户故意看到他们可能想看到的内容。我经常对这样出现的工具栏和等待光标感到有点恼火,但我通常很高兴注意到我的浏览器在后台执行操作。当我使用 Chrome 等其他浏览器时,我什至经常感到困惑,当我只是阅读一篇文章等时,我没有注意到我的浏览器在后台执行大量 AJAX 提升,这有时会导致令人困惑的情况或奇怪的客户端状态。

我认为您不应该尝试更改浏览器行为,因为这完全超出了您的范围。有些人拥有高度定制的浏览器、无 Chrome 窗口管理器等。当用户浏览器未按照您的喜好配置时,您也不会尝试启用或更改用户浏览器中的其他功能(例如第 3 方 cookie、javascript、插件等) .)。用户按照他喜欢的方式使用和配置他的用户代理(这意味着他可以禁用 CSS、使用大量用户样式表和 javascript、禁用 iframe、禁用窗口移动等。)。

作为旁注,我记得读过一些关于即将推出的 Opera 版本中此默认行为的更改(关于 XHR)的内容,但我不再确定这一点,因为我在开发快照中输入了此内容,但仍然有默认进度条行为。我想,这就是生活。 :-)

关于javascript - 使用 Opera 在 JavaScript 中更新图像源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11639656/

相关文章:

javascript - 将动态输入字段的值添加到数组的纯 Javascript 方法

javascript - 为什么自定义传单控件添加为大写和小写?

javascript - Opera 隐藏行时不会卡住表

css - Opera、Safari、FF 和 IE 之间的像素差异

html - 为什么我的 html/css 代码不能创建按钮?

Javascript OAuth 和 Opera 链接

javascript - 如何获取用户访问的任何新网站的 URL?

javascript - 如何创建带有导航箭头的图像轮播和点击时更改的播放/暂停

php - 图像裁剪和比较

javascript - Angular CLI - 图像在 'ng build' 之后不显示