标签: cross-browser

为什么有些图片在IE中无法显示,而在其他浏览器中却不能显示?

我遇到了许多在各种浏览器中显示的图像,IE6 到 IE8 除外。例如,此图像在 IE6 到 IE8 以外的浏览器中显示良好。

您可以看到该图像在Firefox中显示正常,但在IE8 中显示不正常。

对根本原因有什么想法吗?

internet-explorer image cross-browser

2
推荐指数
1
解决办法
2344
查看次数

检测浏览器类型

除了我的 ASP.NET 应用程序中的错误报告之外,我还检索浏览器信息。例如,我经常收到特定错误:

Type = Mozilla
Name = Mozilla
Version = 5.0
Major Version = 5
Minor Version = 0
Platform = Unknown
Is Beta = False
Is Crawler = False
Is AOL = False
Is Win16 = False
Is Win32 = False
Supports Frames = False
Supports Tables = False
Supports Cookies = False
Supports VBScript = False
Supports JavaScript = False
0.0
Supports Java Applets = False
Supports ActiveX Controls = False
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是firefox,但是我也得到firefox的特定错误,所以我不确定上面的信息到底是什么浏览器?

谢谢

asp.net firefox cross-browser browser-testing

2
推荐指数
1
解决办法
4327
查看次数

HTML type="search" 检测清除按钮支持

在 HTML5 中,我们有<input type="search" />不同的行为在多个浏览器上。

添加文本时,Webkit 会添加一个清除按钮,而 Firefox 不会。

有没有办法;除了浏览器嗅探之外,还可以检测浏览器是否支持清除按钮?

html javascript firefox webkit cross-browser

2
推荐指数
1
解决办法
2723
查看次数

给定一个 dom 元素,我如何在 jquery 和/或 JavaScript 中将其展平?

假设我从 dom 中获取一个元素:

[<div id="generic-wrapper"> ... </div>]
Run Code Online (Sandbox Code Playgroud)

我怎样才能将它展平以包含其中的所有元素?

编辑:“generic-wrapper”是一个任意的id,它可以是任何东西。它也可以嵌套,就像在包装器中的包装器中一样。

EDIT2:我希望最终的数组包含原始数组的所有内容,只是展平了。这包括包装纸。是否有一种系统的方法来构造和迭代数组,例如我所描述的数组?再次感谢并为造成的混乱表示歉意。

html javascript jquery dom cross-browser

2
推荐指数
1
解决办法
2343
查看次数

ChartJS / MomentJS - 无法删除弃用警告。图形未显示在 Firefox/opera 中

所以浏览器抛出

关于错误使用 momentJS 的警告。

Deprecation warning: value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments: 
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: 12.30, _f: false, _strict: undefined, _locale: [object Object]
Error 
Run Code Online (Sandbox Code Playgroud)

所以我查看了我的代码

data: {
  labels: ['01.01', '02.01', '03.01', …
Run Code Online (Sandbox Code Playgroud)

charts cross-browser momentjs deprecation-warning chart.js

2
推荐指数
1
解决办法
1682
查看次数

传播语法的替代方案

我在代码中看到了扩展语法的几种用法。例如:

function tree2table(tree) {
    var children = tree["children"];
    if (children === undefined) return [];
    var result = [];
    for (var i = 0; i < children.length; i++) {
        var child = children[i];
        var link = [child["name"], tree["name"], child["size"]];
        result.push(link);
        result.push(...tree2table(child))
    }
    return result
}
Run Code Online (Sandbox Code Playgroud)

但是,IE 不支持扩展语法。有谁知道改变result.push(...tree2table(child))它的最佳方法是什么,使其成为跨浏览器并像以前一样高效?

javascript arrays cross-browser spread-syntax

2
推荐指数
2
解决办法
6807
查看次数

Safari getUserMedia() 未处理的承诺拒绝

按照互联网上的建议,我将mutedplaysinline属性添加到我的视频元素中。我仍然无法在 Safari 11 中获得愿景,但只有这个错误。我还尝试autoplay从我的视频元素中删除。

Unhandled Promise Rejection: TypeError: Type error

是否可以webrtc在 Safari 11 中工作,或者我是否在浪费时间?

getUserMedia() 适用于所有其他浏览器(Chrome、Firefox、Edge、Opera)。

谢谢!

我使用这个垫片,https://github.com/addyosmani/getUserMedia.js/blob/gh-pages/lib/getUserMedia.js这会返回一个成功回调,

然后在回调中,

var video = camOptions.videoEl; //the video element

var vendorURL = window.URL || window.webkitURL;

try {
    video.src = vendorURL ? vendorURL.createObjectURL(stream) : stream;
}
catch(err) {
    //HERE IS THE TYPE ERROR IN SAFARI
}
Run Code Online (Sandbox Code Playgroud)

javascript safari cross-browser webrtc getusermedia

2
推荐指数
1
解决办法
5704
查看次数

通过 f11 启用全屏后,通过 javascript 禁用全屏

通过按下下面的按钮,我可以启用和禁用全屏模式,但在按下 f12 后,我无法禁用全屏模式。我参考了其他答案,他们只提供了一种检测窗口是否处于全屏模式的方法。我是无法获取用于从全屏(通过 f11 键制作)禁用全屏模式的代码。我尝试通过代码触发 f11 但它没有用。在所有浏览器中是否有任何解决方案?

 Html code:
     <button id="fullbutton" width="60px" height="60px" alt="logo" onclick="toggleFullScreen(this)">On</button>

Javascript code :

function toggleFullScreen(element) {
//first part 

if((window.fullScreen) || (window.outerWidth === screen.width && window.outerHeight == screen.height)) {

console.log("full screen is enabled ")

if (document.exitFullscreen)
    document.exitFullscreen();
else if (document.msExitFullscreen)
    document.msExitFullscreen();
else if (document.mozCancelFullScreen)
    document.mozCancelFullScreen();
else if (document.webkitExitFullscreen)
    document.webkitExitFullscreen();


}else {

//second part


if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) {


if (document.documentElement.requestFullScreen) {  
  document.documentElement.requestFullScreen();  
} else if (document.documentElement.mozRequestFullScreen) {  
  document.documentElement.mozRequestFullScreen();  //for mozilla
} else …
Run Code Online (Sandbox Code Playgroud)

javascript events cross-browser

2
推荐指数
1
解决办法
3803
查看次数

角度动画在 IE11 和 Firefox 中不转换(适用于 Chrome)

我附加到 div 的 Angular 动画在 Chrome 中工作(将 0 的高度增加到高度:'*')。我已经导入了所有必要的 polyfills 并安装了 web-animations-js

高度增加了,但是在 IE 和 Firefox 中没有发生动画过渡。

动画.ts

import {
  trigger,
  state,
  style,
  transition,
  animate
} from "@angular/animations";

export const Animations = {
  animations: [
    trigger("expansionTrigger", [
      state(
        "true",
        style({
          height: "*",
          display: "inline-block",
          width: "100%",
          overflow: "hidden"
        })
      ),
      state(
        "false",
        style({
          height: "0",
          display: "none",
          padding: "0",
          overflow: "hidden"
        })
      ),
      transition("true => false", animate("1s 100ms ease-out")),
      transition("false => true", animate("1s ease-in"))
    ]),
    trigger("fadeInTrigger", [
      state(
        "true",
        style({ …
Run Code Online (Sandbox Code Playgroud)

cross-browser typescript angular angular-animations

2
推荐指数
1
解决办法
2254
查看次数

如何判断是否支持具有特定权限的 navigator.permissions.query

我有以下代码:

if (navigator.permissions && navigator.permissions.query) {
  navigator.permissions.query({
    name: 'clipboard-write'
  }).then(function(result) {
    if (result.state === 'granted') {
      //Do something!
    } else{
      //Not granted...
    }
} else {
  //Does not support navigator.permissions
}
Run Code Online (Sandbox Code Playgroud)

这适用于 Safari 和 Chrome。但是,在 Firefox 中,它会引发此错误:

TypeError: 'name' member of PermissionDescriptor 'clipboard-write' is not a valid value for enumeration PermissionName.
Run Code Online (Sandbox Code Playgroud)

navigator.permissions.query支持,只是没有clipboard-write。那么,如何查看浏览器是否支持:

navigator.permissions.query({name:'clipboard-write'})
Run Code Online (Sandbox Code Playgroud)

我以为我可以只检查正在使用的浏览器,但我认为必须有更好的方法来做到这一点。

编辑(尝试/捕捉)

我尝试try/catch使用以下代码:

try {
  navigator.permissions.query({
    name:'clipboard-write'
  });
}
catch(error) {
  console.log(error);
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这catch在 Firefox中没有。

javascript permissions firefox cross-browser navigator

2
推荐指数
1
解决办法
203
查看次数