小编Ata*_*v32的帖子

31
推荐指数
1
解决办法
1万
查看次数

$ watchGroup vs $ watchCollection?

在Angular中有两种方法可以观察一组变量.但它们之间的区别是什么?

他们似乎都做浅表.是否存在一个明显优于另一个的情况?

javascript angularjs angularjs-scope

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

调用 chrome.runtime.sendMessage() 时出现“扩展上下文无效”错误

我在 Chrome 扩展程序中有一个用于传递消息的内容脚本。每隔一段时间,当内容脚本调用时

chrome.runtime.sendMessage({
  message: 'hello',
});
Run Code Online (Sandbox Code Playgroud)

它抛出一个错误:

Uncaught Error: Extension context invalidated.
Run Code Online (Sandbox Code Playgroud)

这个错误是什么意思?我找不到任何有关它的文档。

它不会持续发生。事实上,它很难重现。如果我只是让页面在后台打开一段时间,似乎就会发生这种情况。


另一个线索:我已经编写了许多带有传递消息的内容脚本的 Chrome 扩展,但我以前没有见过这个错误。主要区别在于该内容脚本是由后台页面使用注入的

chrome.tabs.executeScript({
  file: 'contentScript.js',
});
Run Code Online (Sandbox Code Playgroud)

使用executeScript而不是清单文件是否会以某种方式改变内容脚本的生命周期?

google-chrome-extension content-script

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

如何使用ProxyPass通过Express提供静态文件?

我正在使用Apache mod_proxy与Express一起提供我的Node应用程序,

ProxyPass /nodeapp http://localhost:3000/
ProxyPassReverse /nodeapp http://localhost:3000/
Run Code Online (Sandbox Code Playgroud)

但是从错误的地方请求静态JS和CSS.

例如,我想要CSS

http://homepage/nodeapp/css
Run Code Online (Sandbox Code Playgroud)

但它正在被请求

http://homepage/css
Run Code Online (Sandbox Code Playgroud)

apache reverse-proxy mod-proxy node.js express

7
推荐指数
1
解决办法
2914
查看次数

通过移动Safari中的输入字段进行跳转可以使浏览器跳转

有没有办法专注于这个领域,但没有这个不和谐的动画?当键盘可见时,行为尤其糟糕.

演示

http://plnkr.co/edit/9OydOFO0KUeKuaH8u70A?p=info

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
  </head>
  <body>
    <form>
      <input>
      <input>
      <input>
      <input>
      <input>

       ...

      <input>
    </form>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

html scroll mobile-safari ios

6
推荐指数
1
解决办法
1986
查看次数

如何为运行 Puppeteer 的 Jest 测试设置最大超时?

尝试查看文档,但没有找到为测试用例设置最大超时的方法。似乎是一个简单的功能。

import puppeteer from 'puppeteer'

test('App loads', async() => {
  const browser = await puppeteer.launch({ headless: false, slowMo: 250 });
  const page = await browser.newPage();
  await page.goto('http://localhost:3000');
  await browser.close();
});
Run Code Online (Sandbox Code Playgroud)

jestjs puppeteer

4
推荐指数
1
解决办法
4885
查看次数

ElementHandle与DOM元素有何不同?

页面上的文档。$(selector)说它返回一个包含ElementHandle的Promise。

但是缺少ElementHandle的文档。

它说它“代表DOM元素”,但是那真的意味着什么?如果代表DOM,为什么不能检查ElementHandle的内容?

它还说:“除非处置了句柄,否则防止垃圾回收中的DOM元素。” 如果浏览器仍在页面上,为什么DOM元素会被垃圾回收?


之所以出现这种情况,是因为我认为从页面上的元素中获取文本很简单,所以我尝试了一下,

const text = await page.$('#text').textContent;
Run Code Online (Sandbox Code Playgroud)

回来了undefined。所以我尝试了

const text = await page.$('#text').textContent();
Run Code Online (Sandbox Code Playgroud)

这引发了错误。

原来正确的方法是

const text = await page.evaluate(() => document.querySelector('#text').textContent);
Run Code Online (Sandbox Code Playgroud)

javascript puppeteer

4
推荐指数
1
解决办法
1094
查看次数