标签: cross-browser

如何在没有(减号)滚动条的情况下获得屏幕宽度?

我有一个元素,需要它的宽度没有(!)垂直滚动条.

Firebug告诉我身体宽度是1280px.

这些都可以在Firefox中正常工作:

console.log($('.element').outerWidth() );
console.log($('.element').outerWidth(true) );

$detour = $('.child-of-element').offsetParent();
console.log( $detour.innerWidth() );
Run Code Online (Sandbox Code Playgroud)

他们都返回1263px,这是我正在寻找的价值.

但是所有其他浏览器都给我1280px.

是否有跨浏览器的方式来获得没有(!)垂直滚动条的全屏宽度?

jquery cross-browser width

93
推荐指数
5
解决办法
16万
查看次数

我可以使用哪些HTML5标签而不必担心浏览器兼容性?

我正在构建一个用于PC的Web应用程序.什么是HTML5标签,以防止与IE8及更高版本的浏览器兼容性问题?

注意:关于此主题,大多数问题都是1 - 3年.

browser html5 compatibility cross-browser

93
推荐指数
3
解决办法
2万
查看次数

IE10中的跨源postMessage是否被破坏?

我正试图做一个简单的postMessage例子......

  • 在IE10中
  • 在窗口/标签之间(与iframe)
  • 跨越起源

删除这些条件中的任何一个,并且工作正常:-)

但据我所知,postMessage当两个窗口共享一个原点时,窗口之间似乎只能在IE10中工作.(嗯,事实上 - 奇怪的是 - 行为稍微宽容一点:共享主机的两个不同的起源似乎也有效).

这是一个有记录的错误吗?有任何变通方法或其他建议吗?

(注意:这个问题触及了问题,但它的答案是关于IE8和IE9 - 而不是10)


更多细节+例子......

启动页面演示

<!DOCTYPE html>
<html>
  <script>
    window.addEventListener("message", function(e){
      console.log("Received message: ", e);
    }, false);
  </script>
  <button onclick="window.open('http://jsbin.com/ameguj/1');">
    Open new window
  </button>
</html>
Run Code Online (Sandbox Code Playgroud)

推出了网页演示

<!DOCTYPE html>
<html>
  <script>
    window.opener.postMessage("Ahoy!", "*");
  </script>
</html>
Run Code Online (Sandbox Code Playgroud)

这适用于:http://jsbin.com/ahuzir/1 - 因为两个页面都托管在同一个源(jsbin.com).但是将第二页移到其他地方,它在IE10中失败了.

html5 compatibility postmessage cross-browser internet-explorer-10

90
推荐指数
3
解决办法
6万
查看次数

获取DOM节点的字符串表示形式

Javascript:我有一个节点(元素或文档)的DOM表示,我正在寻找它的字符串表示.例如,

var el = document.createElement("p");
el.appendChild(document.createTextNode("Test"));
Run Code Online (Sandbox Code Playgroud)

应该产量:

get_string(el) == "<p>Test</p>";
Run Code Online (Sandbox Code Playgroud)

我有强烈的感觉,我错过了一些简单的东西,但我找不到一个适用于IE,FF,Safari和Opera的方法.因此,outerHTML是没有选择的.

javascript string dom element cross-browser

89
推荐指数
6
解决办法
11万
查看次数

检测何时加载了iframe内容(跨浏览器)

我正在尝试检测iframe及其内容何时加载但没有太多运气.我的应用程序在父窗口的文本字段中输入一些内容并更新iframe以提供"实时预览"

我开始使用以下代码(YUI)来检测iframe加载事件何时发生.

$E.on('preview-pane', 'load', function(){
    previewBody = $('preview-pane').contentWindow.document.getElementsByTagName('body')[0];
}
Run Code Online (Sandbox Code Playgroud)

'preview-pane'是我的iframe的ID,我正在使用YUI来附加事件处理程序.但是,尝试在我的回调中访问正文(在iframe加载时)失败,我认为因为iframe在事件处理程序准备好之前加载.如果我通过使生成它的php脚本进入睡眠状态来延迟iframe加载,则此代码有效.

基本上,我问的是什么是跨浏览器的正确方法来检测iframe何时加载并且其文档已准备就绪?

javascript events cross-browser

85
推荐指数
3
解决办法
17万
查看次数

使用Modernizr检测IE的正确方法?

这可能是一个愚蠢的问题,但我想使用Modernizr JS库来检测某些浏览器属性,以确定要显示或不显示的内容.

我有一个名为Pano2VR的应用程序,它输出HTML5和SWF.我需要HTML5 for iOS设备用户.

但是,IE根本不会呈现此"HTML5"输出.似乎他们的输出使用CSS3 3D变换和WebGL,IE9中显然不支持一个或多个.

因此,对于那些用户,我需要显示Flash版本.我打算使用IFRAME并通过Modernizr脚本传递SRC或document.write出正确的IFRAME代码,具体取决于浏览器.

所有这些都导致我如何使用Modernizr来检测IE或IE?或者检测CSS 3d变换?

或者还有另一种方法吗?

html5 cross-browser modernizr

82
推荐指数
5
解决办法
14万
查看次数

如何让event.srcElement在Firefox中运行,这是什么意思?

在我公司的网站上有一个if语句,它使一个网页与firefox不兼容

if(event.srcElement.getAttribute("onclick") == null){ 
...code..
document.mainForm.submit();
}
Run Code Online (Sandbox Code Playgroud)

我已经注释掉了if语句条件,现在它正在使用forefox.我的问题是,event.srcElement.getAttribute("onclick")是什么,重要的是,它是否会在将来引发问题.还有,类似的东西,我可以替换条件,以便它适用于Firefox?

编辑:

 function gotoRDManagerPT(PTId, bDDetailId) {
        if(!proceed()) return false;
        var target = event.target || event.srcElement; 
        if(event.target.getAttribute("onclick") == null) { 
            document.mainForm.displayRDManagerPT.value = "true";
            document.mainForm.PTId.value = PTId;
            document.mainForm.bDDetailId.value = bDDetailId;
            document.mainForm.submit();
        }
    }
Run Code Online (Sandbox Code Playgroud)

javascript firefox cross-browser

80
推荐指数
2
解决办法
8万
查看次数

Highcharts图表选项backgroundColor:'透明'在IE 8上显示黑色

Highcharts图表选项backgroundColor:'transparent'显示黑色IE 8

histogram = new Highcharts.Chart({
            chart: { renderTo: 'histogram', defaultSeriesType: 'bar',
                     backgroundColor:'transparent'
            }
Run Code Online (Sandbox Code Playgroud)

这在I.E 9其他方面工作正常但在IE 8和Safari上失败任何人都知道为什么?

css cross-browser internet-explorer-8 highcharts

79
推荐指数
3
解决办法
9万
查看次数

跨平台,跨浏览器的方式从Javascript播放声音?

我正在编写一个dhtml应用程序,用于创建系统的交互式模拟.模拟的数据是从另一个工具生成的,并且已经有非常大量的遗留数据.

模拟中的一些步骤要求我们播放音频的"画外音"剪辑.我无法在多个浏览器中找到一种简单的方法来实现这一点.

Soundmanager2非常接近我的需要,但它只播放mp3文件,遗留数据也可能包含一些.wav文件.

有没有人有任何其他可能有帮助的图书馆?

javascript audio cross-platform dhtml cross-browser

78
推荐指数
6
解决办法
6万
查看次数

HTML:如何强制链接在新选项卡中打开,而不是新窗口

我用来target="_blank"在新标签中打开链接...但是在IE中它会打开一个完全符合逻辑的新窗口,因为这_blank是应该做的,我不知道target="_blank"在其他浏览器中的表现如何...是否有一些东西给强制链接在新选项卡中打开..如果浏览器支持选项卡...否则创建一个新窗口

html tabs cross-browser

78
推荐指数
4
解决办法
18万
查看次数