我有一个元素,需要它的宽度没有(!)垂直滚动条.
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.
是否有跨浏览器的方式来获得没有(!)垂直滚动条的全屏宽度?
我正在构建一个用于PC的Web应用程序.什么是HTML5标签,以防止与IE8及更高版本的浏览器兼容性问题?
注意:关于此主题,大多数问题都是1 - 3年.
我正试图做一个简单的postMessage例子......
删除这些条件中的任何一个,并且工作正常:-)
但据我所知,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
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是没有选择的.
我正在尝试检测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何时加载并且其文档已准备就绪?
这可能是一个愚蠢的问题,但我想使用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变换?
或者还有另一种方法吗?
在我公司的网站上有一个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) 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上失败任何人都知道为什么?
我正在编写一个dhtml应用程序,用于创建系统的交互式模拟.模拟的数据是从另一个工具生成的,并且已经有非常大量的遗留数据.
模拟中的一些步骤要求我们播放音频的"画外音"剪辑.我无法在多个浏览器中找到一种简单的方法来实现这一点.
Soundmanager2非常接近我的需要,但它只播放mp3文件,遗留数据也可能包含一些.wav文件.
有没有人有任何其他可能有帮助的图书馆?
我用来target="_blank"在新标签中打开链接...但是在IE中它会打开一个完全符合逻辑的新窗口,因为这_blank是应该做的,我不知道target="_blank"在其他浏览器中的表现如何...是否有一些东西给强制链接在新选项卡中打开..如果浏览器支持选项卡...否则创建一个新窗口
cross-browser ×10
javascript ×4
html5 ×3
audio ×1
browser ×1
css ×1
dhtml ×1
dom ×1
element ×1
events ×1
firefox ×1
highcharts ×1
html ×1
jquery ×1
modernizr ×1
postmessage ×1
string ×1
tabs ×1
width ×1