假设您希望Greasemonkey脚本与Safari和Chrome兼容.
而在Firefox中,Greasemonkey脚本仅在DOM准备就绪时运行.Chrome,Safari和Opera似乎在DOM准备好之前运行Greasemonkey脚本.
所以我要找的是一个解决方案,它只会在页面上运行一个监听器,等待DOM加载/就绪事件,然后接收该事件,然后运行脚本的其余部分.如果他们使用的浏览器是Chrome,Safari或Opera.如果他们使用的是Firefox,只需立即运行脚本,而不必担心事件监听器.
如何编码?
@NV
感谢NV,您知道该脚本是否也与Google Chrome兼容?
请问代码
(function(){
// Code here run after 'load' event in all browsers.
})();
Run Code Online (Sandbox Code Playgroud)
还可以在Google Chrome上运行DOM吗?
我正在测试我的noscript标签,当javascript被禁用时显示内容,这适用于Safari,Chrome,Firefox,Camino,IE6,IE7,IE8,IE9,基本上除了Opera之外的一切(我正在运行版本11,不确定它是否被隔离到那个版本).
在Opera 11中没有显示任何内容......是否不支持noscript标签?还有什么选择?
没什么好惊讶的:
<noscript>Please enable JavaScript.</noscript>
Run Code Online (Sandbox Code Playgroud)
位于身体标签之间.
<html>
<body>
<script>alert('Hello World');</script>
<noscript>Hello World!</noscript>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我正在使用Prototype并在window.document上执行Event.observe.
我正在捕捉enter(keyCode 13)和alt + f(altKey && keyCode = 70).
我的代码正在使用firefox,IE和chrome.随着Opera没有.输入是catched,但仅当我的焦点不在任何文本输入中时.Alt + F根本不起作用.
它是原型中的错误还是我需要在Opera上做一些"额外"的事情才能继续?正如我所说,在所有其他浏览器我的代码工作....
根据Apache访问日志中的这一行,似乎Opera有时会在发送到服务器的URI中包含哈希片段:
[26/Apr/2011:01:09:03 +0200]"GET/dagbok/#type = food HTTP/1.1"500 - " - ""Opera/9.80(Windows NT 6.1; U; nb)Presto/2.8. 131版/ 11.10"
关于它为什么这样做的经验或见解?
URI应该被jQuery的哈希更改事件捕获,而事件又会触发URI上的.load()/dagbok/food/.
PS!500 Internal Server发生这种情况是因为路由不理解带有哈希片段的URI.也不应该.
使用RewriteRules更新:
RewriteEng在
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond%{REQUEST_FILENAME}!-f
RewriteRule!.(js | ico | txt | gif | jpg | png | css)$ index.php
然后Index.php启动Zends前端控制器/路由器,它无法找到此URI的任何路由.这是正确的,因为这个URI永远不会到达服务器.
在所有浏览器中,似乎只有Opera不支持onunload/onbeforeunload事件.(已经十五年了,Opera!)这个问题的解决方案已被多次覆盖,例如:onbeforeunload支持检测
不幸的是,从Opera 11.51开始,("onbeforeunload" in window) == true但实际的onbeforeunload事件从未执行过!
我的Web应用程序需要在用户离开页面时将数据发送到服务器; 我正在使用同步ajax请求.看起来我不得不求助于在页面某处使用"保存"按钮来掩盖Opera问题.但是,我不希望这个按钮混淆浏览器能够通过ajax自动保存的用户,所以我真的很喜欢这个按钮只显示在Opera中.
是我唯一的选择浏览器检测?问题是,Opera可以选择将自己伪装成其他浏览器.
javascript opera onbeforeunload onunload browser-feature-detection
在Opera 11.01的JS安全问题中,从服务器A转移到B后,我了解到Opera具有一些"跨网络"保护.
我遇到了相同的js安全问题,我发现Opera 11.10("Barracuda")增加了禁用跨网络保护的首选项.我的歌剧是11.50但我找不到具体的偏好.
我是否误解了"跨网络"的含义?
非常感谢.
在我的应用程序中,我border image在css中使用,但它在Opera中不起作用.那么Opera怎么能支持呢?
更新: 在这个问题提前两年,一个类似的问题被问到:有效的最大邮件:身体长度,正如Peter O所指出的那样.幸运的是,这两个问题的答案是互补的:-)浏览器在过去两年中发展了很多,因此我们可以说这个问题是另一个的更新;-)
规范不限制mailto命令长度:
因此,mailto命令长度取决于Internet浏览器实现.
我猜很老的浏览器无法处理mailto超过255个字符的命令.
但是,如今,内存大小不再是mailto命令长度的问题.
mailto 最常见的 互联网浏览器的最大长度是多少?
看看浏览器是否收敛到相同的mailto长度限制应该很有趣.
我在页面上有一些使用SVG文件作为背景图像的元素.它在Opera,Chrome和Safari中运行良好,只有Firefox才能使图形真正像素化.
我已经对该主题进行了搜索,在这里甚至有一些类似的问题:
Firefox中的SVG渲染很糟糕
Firefox没有抗锯齿缩放的背景svg
Firefox SVG图形模糊
一些建议是不要过度使用background-size和扩展SVG width="100%" height="100%".
我只将SVG缩放了5%,所以真的不应该太多.添加width="100%" height="100%"是稍微修正了像素化,但与其他浏览器相比,它仍然非常模糊.
这个链接的评论有什么帮助:http://coding.smashingmagazine.com/2012/01/16/resolution-independence-with-svg/#comment-573707
最初的宽度和高度是22px.现在我已经设置为200px和voilà,SVG渲染得如此清晰 - 但现在Opera渲染它有点模糊/非常糟糕!此外,放大时,图形会"切断".因此,不是按比例缩放,而是在图标框中放大图形.那有什么问题吗?
有趣的是:作为按钮的背景图像,它呈现模糊.作为输入字段中的背景图像,它会呈现为"过于清晰",我称之为"过度清晰".
opera ×10
javascript ×5
css ×2
firefox ×2
apache ×1
css3 ×1
greasemonkey ×1
html ×1
mailto ×1
onunload ×1
prototypejs ×1
safari ×1
security ×1
svg ×1
vector ×1