我有一些令人遗憾的在Internet Explorer中无法运行的代码,并且因为在所有浏览器中使用此代码并不是绝对必要的我想阻止它在IE中执行,除非有一些方法需要修复它以便它可以正常工作在IE中也是如此(请参阅此主题).这怎么可能(如果可能的话)?谢谢
我想让我的网站跨浏览器,但有一个问题.
Safari的放大/缩小功能破坏了我的网站布局 - 它不会很好地改变字体大小(或者至少像IE,Firefox和Chrome那样).
我该如何解决?
请给我下面的脚本跨浏览器解决方案:
$("#action-notify").show(0).delay(3000).hide(0);
Run Code Online (Sandbox Code Playgroud)
它在IE7中有错误(show()方法中的0问题).没有0不是演出后的工作延迟.
编辑:脚本已修改.请为该脚本建议解决方案;
当用户点击"Music On"按钮时,我必须在后台播放ogg音频文件.目前该页面使用AUDIO标签,它可以在Firefox中使用,但不能在IE中使用(由此表确认 ).
有没有真正的跨浏览器方式播放ogg音频文件,如果可能没有Flash?
我知道存在特定的库,如JPlayer或SoundManager,但我真的必须使用其中一个吗?毕竟,只是发出声音......
我有两个HTML按钮; 一个提交一个表单,一个关闭容器对话框.关闭它的按钮没有type属性:
<button type="submit">Submit</button>
<button class="closeDialog">Close</button>
Run Code Online (Sandbox Code Playgroud)
JavaScript如下:
$(".closeDialog").live("click", function(event) {
event.preventDefault();
$(this).parents(".dialog").dialog("close");
});
$("form.myClass").live("submit", function(event) {
event.preventDefault();
// submits the form here . . .
});
Run Code Online (Sandbox Code Playgroud)
所有这些在IE浏览器的每个浏览器中都能正常运行 在IE中,当单击"关闭"按钮时,上面的两个JavaScript事件都会执行,但只有.closeDialog事件处理程序应该执行.
IE似乎将元素视为提交按钮,无论其type属性如何.
如何在IE中解决这种误解?
我在document.ready函数中有以下语句:
if($("sidebar ").html().trim().length == 0)
{
$("sidebar").append("<p> The sides..</p>");
};
Run Code Online (Sandbox Code Playgroud)
它在IE 9中工作正常,但只要我选择IE 8(浏览器和文档标准),脚本就会停止工作并发出以下错误:
SCRIPT5007: Unable to get value of the property 'trim': object is null or undefined
application-e51c9eee7d22e9644481115dc1fedd5f.js, line 7 character 17578
Run Code Online (Sandbox Code Playgroud)
我在调试模式下查看了.js,看到上面的语句转换为:
$("sidebar ").html().trim().length==0&&$("sidebar").append("<p> The sides..</p>")
Run Code Online (Sandbox Code Playgroud)
如何防止此错误?请注意,我确实看到该节点存在于呈现的页面中.
我认为可能只是提到shiv5.html可能不足以照顾IE的特性.所以,我通过sprockets添加了modernizr.js,并在我的布局中添加了class ="no-js".在IE <9中仍然没有运气.
我错过了什么?我还能做些什么来获得微软霸主的青睐?
javascript jquery internet-explorer ruby-on-rails cross-browser
我知道有类似Dreamweaver的程序,但在创建自动跨浏览器兼容的html和css代码时,它们都没有取得重大成功.
我想知道,是否有一个框架或程序可用于创建更多跨浏览器兼容的HTML和CSS布局?
目前,我正在使用在vmware上运行的虚拟Windows xp版本来检查网页在IE6中的外观,以及手动使用Chrome,Firefox,Opera和Safari.
最近我的网站用户抱怨IE6\7缺乏支持.
是否有一个离线工具来测试页面HTML是否与特定浏览器不兼容,问题出在哪里?
为了支持IE6,我在哪里可以找到需要注意的事项列表?
更新:用户描述的问题在UI中,<Div>不在正确的位置和那种问题,而不是JavaScript问题.
我不能强迫用户升级他们的浏览器.
我们有IETester工具来检查具有不同版本IE的模板,但其他浏览器呢.
我有firefox,chrome和opera的最新版本,我和他们一起试用我的模板.
问题:
1 - 其他浏览器在不同版本中有与IE相同的问题(IE6有一个标准,IE 7另一个,IE 8自己,IE 9是别的!),所以有必要检查旧版本中的模板,就像我们一样IE?
2-如果是,怎么办?任何工具?
我想模仿这种行为:
<script src="console.log.1.js"></script>
<script>console.log(2)</script>
<script>console.log(3)</script>
Run Code Online (Sandbox Code Playgroud)
注销:
1
2
3
Run Code Online (Sandbox Code Playgroud)
这样做不起作用:
<script>
var x = document.createElement("script");
x.src = "console.log.1.js";
x.async = false;
x.defer = false;
document.body.appendChild(x);
console.log("2");
console.log("3");
</script>
Run Code Online (Sandbox Code Playgroud)
它注销:
2
3
1
Run Code Online (Sandbox Code Playgroud)
到目前为止我发现的唯一方法是实现它:
<script>
document.write("<scrip" + "t src='console.log.1.js'></scrip" + "t>");
</script>
<script>
console.log("2");
console.log("3");
</script>
Run Code Online (Sandbox Code Playgroud)
这是否是在所有浏览器中强制同步加载外部脚本的唯一方法?为什么不设置async = false,defer = false工作?
UPDATE
仅供参考,如果有人想知道,以下document.write开始有效(在Chrome中):
<script>
// http://jsbin.com/avatiw logs "during"
document.write('<scrip' + 't>console.log("before");document.write("<scrip" + "t src=\\"http://jsbin.com/avatiw\\"></scrip" + "t>");</scrip' + 't>');
document.write('<scrip' + 't>console.log("after");</scrip' + 't>');
</script>
Run Code Online (Sandbox Code Playgroud)
工作和注销:
"before"
"during"
"after"
Run Code Online (Sandbox Code Playgroud)