小编Dan*_*err的帖子

在for循环中使用对象

为什么不能在for循环中使用对象?或者这是一个浏览器错误?此代码在Chrome 42中不起作用,称undefined不是函数:

test = { first: "one"}

for(var item of test) {
  console.log(item)
}
Run Code Online (Sandbox Code Playgroud)

javascript for-loop iterable ecmascript-6

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

事件vs Streams vs Observables vs Async Iterators

目前,在JavaScript中处理一系列异步结果的唯一稳定方法是使用事件系统.但是,正在开发三种替代方案:

流:https
: //streams.spec.whatwg.org Observables:https:
//tc39.github.io/proposal-observable Async Iterators:https://tc39.github.io/proposal-async-iteration

每个事件和其他事件的差异和好处是什么?

这些中的任何一个是否打算取代事件?

iterator stream dom-events observable ecmascript-next

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

for循环querySelectorAll

Mozilla声称"for for循环将正确地循环NodeList对象".(来源:https://developer.mozilla.org/en-US/docs/Web/API/NodeList)但是,这在Chrome 43中不起作用.这是不正确的文档还是浏览器错误?

复选的示例代码在页面上使用复选框:

var list = document.querySelectorAll( 'input[type=checkbox]' );
for (var item of list) {
  item.checked = true;
}
Run Code Online (Sandbox Code Playgroud)

javascript for-loop mozilla google-chrome selectors-api

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

HTML5的"进度"或"计量表"的良好用法?

假设您有10页的调查(每页一个问题).在每个页面的顶部,您包含文本"问题2 of 10".这种事情是" 进步 "还是" 计量 "的好选择?

从语义上讲,"进步"最初似乎是最合适的.但是,我阅读和查看的例子越多,我认为"米"可能更合适.

<meter max="10" value="1">Question 1 of 10</meter>
<progress max="10" value="1">Question 1 of 10</progress>
Run Code Online (Sandbox Code Playgroud)

html5 semantics

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

获取API缓存模式

根据规范,fetch api有各种缓存模式.("default","no-store","reload","no-cache","force-cache"和"only-if-cached")但是,不清楚每种模式的用途,或者浏览器支持的状态.

javascript caching fetch-api

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

Chrome标志为--unsafely-treat-insecure-origin-as-secure

我们如何在谷歌Chrome中为Android设置以下标志?

--unsafely-treat-insecure-origin-as-secure="example.com" 
Run Code Online (Sandbox Code Playgroud)

(将"example.com"替换为您实际想要测试的原点)

google-chrome webrtc

8
推荐指数
1
解决办法
2079
查看次数

函数代理.toString()错误

我试图在函数代理上调用.toString().

简单地创建一个函数代理并调用toString导致"TypeError:Function.prototype.toString不是通用的",将toString设置为返回原始源会导致"RangeError:超出最大调用堆栈大小",但为toString创建一个get陷阱作品.

为什么简单地设置toString函数不起作用,但是设置get陷阱呢?

function wrap(source) {
 return(new Proxy(source, {}))
}
wrap(function() { }).toString()
Run Code Online (Sandbox Code Playgroud)

function wrap(source) {
 let proxy = new Proxy(source, {})
 proxy.toString = function() {
  return(source.toString())
 }
 return(proxy)
}
wrap(function() { }).toString()
Run Code Online (Sandbox Code Playgroud)

function wrap(source) {
 return(new Proxy(source, {
  get(target, key) {
   if(key == "toString") {
    return(function() {
     return(source.toString())
    })
   } else {
    return(Reflect.get(source, key))
} } })) }
wrap(function() { }).toString()
Run Code Online (Sandbox Code Playgroud)

javascript tostring ecmascript-6 es6-proxy

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

iOS Chrome浏览器中的虚拟键盘有时会覆盖内容而不是推动视口

我在iOS上的Chrome中遇到了一个小问题,在输入焦点导致键盘遮住页面底部并且用户无法向下滚动以查看下面的元素(这是我所拥有的位置)之后"滚动"屏幕textarea).这只发生在iOS Chrome浏览器中,而不是Safari.

我将逐步完成这些步骤,尽可能清楚地说明这一点.

  • 用户关注textarea输入.行为如预期:键盘向上推动屏幕.

  • 如果用户根本不滚动并轻敲输入,那么下次他们将焦点放在textarea中时,此行为将继续(键盘将整个屏幕向上推).

  • 如果用户将屏幕向下拖动以在textarea聚焦时向上滚动(无论它们"滚动"多少),屏幕都具有类似捕捉的效果,键盘覆盖内容的底部.此键盘行为被保留...

  • 每次用户轻敲和退出文本区域时,键盘都会以这种方式继续覆盖内容.

  • 我发现重置此效果的唯一方法是在textarea未聚焦时拉起屏幕.这会产生一点点闪烁效果,当用户点击textarea时,键盘会返回

我在引号中"滚动",因为页面上没有实际滚动,因为高度,正文和表单都是浏览器高度的100%.虚拟键盘实际上只是在第一个场景中将视口推离屏幕.

我在这里制作了一个关于这个问题的视频:https://youtu.be/yD0tjMfy5I8

我找不到任何关于为什么会发生这种情况的信息而且我没有运气试图以不同的方式设置表单,因为(据我所知)当键盘是无法找到可见区域的高度时打开(window.innerHeight不起作用)

有没有人找到解决这个故障的方法?

html javascript jquery google-chrome ios

7
推荐指数
0
解决办法
864
查看次数

Chrome.system.cpu API 使用情况

是否可以使用 chrome.system.cpu api 获取当前 CPU 负载?我特别不知道如何将返回的数字转换为总电流负载的百分比。

我发现了这一点,但不太确定如何实现:“调用者可以通过进行两次调用、减去时间并除以总时间差来计算负载分数。”

https://developer.chrome.com/apps/system_cpu

答案:获取 CPU 使用情况的示例如下: https: //github.com/beaufortfrancois/cog-chrome-app/blob/master/src/main.js

javascript cpu-usage google-chrome-extension google-chrome-app

5
推荐指数
1
解决办法
8224
查看次数

在 android 中以桌面视图启动 Chrome 浏览器应用程序

我正在使用以下所需的功能启动 chrome 应用程序

DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("deviceName", "Android");
    capabilities.setCapability("platformName", "Android");
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome");
    capabilities.setCapability("platformVersion", "5.0.2");
    capabilities.setCapability("appPackage", "com.android.chrome");
    capabilities.setCapability("appActivity", "com.google.android.apps.chrome.ChromeTabbedActivity");
    capabilities.setCapability("disable-popup-blocking", true);
    driverC = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
Run Code Online (Sandbox Code Playgroud)

我想知道在启用请求桌面站点复选框的情况下启动 chrome 应用程序所需的功能。

屏幕供参考:

在此处输入图片说明

automation android google-chrome appium

5
推荐指数
1
解决办法
494
查看次数