除了我的 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的特定错误,所以我不确定上面的信息到底是什么浏览器?
谢谢
在 HTML5 中,我们有<input type="search" />不同的行为在多个浏览器上。
添加文本时,Webkit 会添加一个清除按钮,而 Firefox 不会。
有没有办法;除了浏览器嗅探之外,还可以检测浏览器是否支持清除按钮?
假设我从 dom 中获取一个元素:
[<div id="generic-wrapper"> ... </div>]
Run Code Online (Sandbox Code Playgroud)
我怎样才能将它展平以包含其中的所有元素?
编辑:“generic-wrapper”是一个任意的id,它可以是任何东西。它也可以嵌套,就像在包装器中的包装器中一样。
EDIT2:我希望最终的数组包含原始数组的所有内容,只是展平了。这包括包装纸。是否有一种系统的方法来构造和迭代数组,例如我所描述的数组?再次感谢并为造成的混乱表示歉意。
所以浏览器抛出
关于错误使用 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) 我在代码中看到了扩展语法的几种用法。例如:
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))它的最佳方法是什么,使其成为跨浏览器并像以前一样高效?
按照互联网上的建议,我将muted和playsinline属性添加到我的视频元素中。我仍然无法在 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) 通过按下下面的按钮,我可以启用和禁用全屏模式,但在按下 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) 我附加到 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) 我有以下代码:
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中没有。
cross-browser ×10
javascript ×6
firefox ×3
html ×2
angular ×1
arrays ×1
asp.net ×1
chart.js ×1
charts ×1
dom ×1
events ×1
getusermedia ×1
image ×1
jquery ×1
momentjs ×1
navigator ×1
permissions ×1
safari ×1
typescript ×1
webkit ×1
webrtc ×1