小编Aus*_*nce的帖子

Microsoft Edge:SCRIPT7002:XMLHttpRequest:网络错误0x2efd,由于错误00002efd无法完成操作

在Windows 10,Microsoft Edge上运行.我在IIS(10.119.103.10)的计算机上本地安装了一个应用程序,它试图向网络上的另一台机器(10.119.103.2)发出请求,该机器设置为使用CORS.

这一切都适用于chrome和Internet Explorer ......这是一个测试用例

function LOG(message) {
        var el = document.createElement('pre');
        el.textContent = message;
        output.appendChild(el);
}
function xhrtest(url) {
        var XHR = new XMLHttpRequest();
        LOG("OPEN " + url);
        XHR.open("GET", url, true);
        XHR.onreadystatechange = function(e) {
                LOG('READY ' + XHR.readyState + ' STATUS ' + XHR.status + ' ' + XHR.statusText + ' TYPE ' + XHR.responseType);
                LOG(XHR.response);
        }
        LOG("SEND");
        XHR.send();
}
Run Code Online (Sandbox Code Playgroud)
<button onclick="xhrtest('http://10.119.103.2/~adf/RMC2/trunk/server/?r=get')">XHR TEST</button>
<hr/>
<div id="output"></div>
Run Code Online (Sandbox Code Playgroud)

但是,在Microsoft Edge中,我收到以下错误

SCRIPT7002:XMLHttpRequest:网络错误0x2efd,由于错误00002efd无法完成操作.

客户端(XMLHttpRequest)甚至没有尝试连接到服务器,它立即保释.生成此输出的测试用例: -

OPEN http://10.119.103.2/~adf/RMC2/trunk/server/?r=get 
SEND 
READY 4 STATUS …
Run Code Online (Sandbox Code Playgroud)

xmlhttprequest cors microsoft-edge

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

Cordova、iOS 和 iframe 不会加载内容,除非我允许访问 href="*"

我有一个网络应用程序,它有一个嵌入式地图字段,它是使用 iframe 实现的https://maps.google.com/ ...

我正在将我们的应用程序(当前作为主屏幕图标运行)移植到 iOS 上的 Cordova,因此添加了一个 Cordova 包装器。我们已经在 Android 上通过 Cordova 运行了该应用程序。

我有一个div, 带有子元素

<iframe src="https://maps.google.com/?iwloc=&output=embed&q=something"></iframe>

最初,当 Cordova 项目只关注 Android 时,我在 config.xml

<access origin="*" />
<access origin="file://*" />
<access origin="http://*" />
<allow-navigation href="http://*" />
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用。在iframe与地图网址甚至不尝试加载,并没有迹象表明这是为什么。

所以我开始阅读起来,玩弄这些设置,并在iOS基本上,他们做的是地图NSAppTransportSecurity的设置Info.plist

结果<allow-navigation href="http://*" />完全被忽略,只支持指定域或只支持 * 的允许导航,所以我尝试了更具体的基于域的,例如

<allow-navigation href="http://maps.google.com/*" />

这不创建一个域条目maps.google.com,并设置NSExceptionAllowsInsecureHTTPLoadstrue但仍IFRAME将不会加载。

我能找到的唯一允许 iframe 加载地图 URL 的方法是添加

<allow-navigation href="*"/>

基本上设置NSAllowsArbitraryLoadstruewhich 基本上关闭 TLS,并将触发应用程序审查并需要理由。

旁注:<access …

iframe ios cordova

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

puppeteer element.click()不工作,不会抛出错误

我有一种情况,在窗体上的一个按钮,动画到视图中,如果在动画正在进行中发生element.click(),它不起作用.

element.click()不会抛出错误,不会返回失败的状态(它返回undefined)它只是默默地不起作用.

我已经尝试确保没有禁用被点击的元素,并且显示(可见),但即使这两个测试都成功,点击也会失败.

如果我在点击前等待0.4秒,它会起作用,因为动画已经完成.

如果我可以检测到点击工作的时间,如果没有自动重试,我不想要添加延迟(这是不可靠的,并且是坦率的躲避).

是否有一种通用的方法来检测click()是否实际上已经被操作,所以我可以使用重试循环直到它呢?

puppeteer

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

错误TS2318:找不到全局类型“对象”

非常简单的项目,仅使用命令行就没有tsconfig.json:

tsc --jsx react --target es6 --lib dom src/lib/Fetch.tsx
Run Code Online (Sandbox Code Playgroud)

我得到以下错误,但我不明白为什么,这些类型实际上是在各处定义的,尤其是在lib.es6.d.ts中,我相信它包含在 --target es6

error TS2318: Cannot find global type 'Array'.
error TS2318: Cannot find global type 'Boolean'.
error TS2318: Cannot find global type 'Function'.
error TS2318: Cannot find global type 'IArguments'.
error TS2318: Cannot find global type 'Number'.
error TS2318: Cannot find global type 'Object'.
error TS2318: Cannot find global type 'RegExp'.
Run Code Online (Sandbox Code Playgroud)

安装以下依赖项

"dependencies": {
  "@types/react-dom": "^16.0.6",
  "@types/react": "^16.3.16",
  "react": "^16.4.0",
  "react-dom": "^16.4.0"
},
"devDependencies": {
  "@types/node": "^10.3.1",
  "typescript": "^2.9.1"
} …
Run Code Online (Sandbox Code Playgroud)

typescript typescript-typings

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

OSX:git:remote:拒绝用户/ repo对其他用户的权限

我正在尝试将一个新的repo推送到github并因为git缓存了meatwork凭据而无法这样做.

$ git push -u origin master
remote: Permission to me/me.github.io.git denied to meatwork.
Run Code Online (Sandbox Code Playgroud)

经过一些挖掘,我想也许credential.helper是问题,所以我试图删除它位git配置仍返回osxkeychain即使我已删除所有设置.

$ git config --system credential.helper 
$ git config --global credential.helper 
$ git config --local credential.helper 
$ git config credential.helper
osxkeychain
$ 
Run Code Online (Sandbox Code Playgroud)

还看了git credential-osxkeychain,但它只是挂起

$ git credential-osxkeychain get
Run Code Online (Sandbox Code Playgroud)

所以无论如何回到原来的问题,如何指定或覆盖或重置push使用的默认用户.我检查了user.nameuser.email设置,他们被设置为正确的用户(不是meatwork).

$ git config --local user.name
$ git config --global user.name
me
$ git config --system user.name
$ git config --local user.email
$ git config --global user.email
me@myhome.com
$ git …
Run Code Online (Sandbox Code Playgroud)

git authentication macos github

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

FirebaseMessaging 不使用 google-services.json 支持多个项目

我知道能够FirebaseApp使用自定义选项创建命名实例,例如,但我特别需要能够针对不同的(在运行时确定的)Firebase 项目FirebaseDatabase使用。FirebaseMessagaging

我遇到的问题是FirebaseMessaging.getInstance()不支持名称参数。

这有可能吗?

我需要支持单独项目的原因是我们的客户端连接到不同的客户服务器,因此每个客户将拥有自己的 firebase 帐户并生成自己的通知。

如果不可能,是否有任何方法可以将一个客户与另一个客户隔离,这样他们就不可能向另一客户的设备发送通知(假设他们可以通过某种方式获取有效的目标设备令牌)?

android firebase firebase-cloud-messaging

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

Cordova:正确的添加插件配置和资源的方法?

科尔多瓦项目.Firebase插件(自定义插件).我试图弄清楚在添加平台或插件时,指定插件将使用的自定义资源详细信息的正确方法.

例如,Android的API_KEY,APP_ID和google-service.json以及iOS的GoogleServices-Info.plist

我认为在plugin.xml中有API_KEY和APP_ID

<platform name="android">
  <preference name="API_KEY"/>
  <preference name="APP_ID"/>

  <config-file parent="/resources" target="res/values/strings.xml">
    <string name="google_app_id">$APP_ID</string>
    <string name="google_api_key">$API_KEY</string>
  </config-file>
</platform>
Run Code Online (Sandbox Code Playgroud)

所以当添加插件时我会这样做 cordova plugin add myfirebaseplugin --variable APP_ID=blah --variable API_KEY=blah

但我尚未解决的是安装google-service.json或Google-Service.Info.plist的正确方法

我已经试过有--variable IOS_FIREBASE_CONFIG="<path>"和使用<source-file src="$IOS_FIREBASE_CONFIG" target-dir="$PACKAGE_NAME/Resources"/>plugin.xml,但它似乎源文件不会扩展$ IOS_FIREBASE_CONFIG.

".../plugins/firebase/$IOS_FIREBASE_CONFIG" not found!
Run Code Online (Sandbox Code Playgroud)

插件可以根据我传入的变量处理配置设置吗?或者这是(复制配置文件)config.xml将在平台添加期间处理的东西?

我看了一些firebase插件以及它们如何处理它,似乎它们出来并告诉你手动将配置文件复制到平台文件夹中,这感觉不对.

作为最后的手段,我可​​能会为平台添加编写一个钩子.

plugins cordova

3
推荐指数
1
解决办法
3344
查看次数

绝对定位div中的中心文本

我有以下内容

 <div class="label" 
    style="position: absolute; top: 20px; left: 20px; width: 200px; height: 40px;">
    Label Text
 </div>

 <div class="label" 
    style="position: absolute; top: 70px; left: 20px; width: 200px; height: 120px;">
    Also several lines of 
    Label Text
    may be included
 </div>
Run Code Online (Sandbox Code Playgroud)

如何在div.label中垂直对齐(可能是几行)文本?

如果需要,我可以添加innerHTML,但我无法更改容器(class ="label").

http://jsfiddle.net/austinfrance/CDTk2/(现在的工作示例)

html css vertical-alignment

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

应用程序缓存清单未在Firefox中加载,在Chrome和Safari中正常

我有以下表现

CACHE MANIFEST
# cache-revision-29541
# cache-creation-date: Fri Dec  5 11:33:29 GMT 2014
CACHE:
app.html
NETWORK:
*
Run Code Online (Sandbox Code Playgroud)

以及app.html

<!DOCTYPE html>
<html manifest="app.manifest">
<head>
    <title>cache test</title>
    <script>
    function checkCache() {
        var appCache = window.applicationCache;
        var logACEvent = function(e) {
            console.log("Cache Event " + e.type + " Status: " + appCache.status);
        }
        appCache.addEventListener('error', logACEvent, false);
        appCache.addEventListener('checking', logACEvent, false);
        appCache.addEventListener('noupdate', logACEvent, false);
        appCache.addEventListener('downloading', logACEvent, false);
        appCache.addEventListener('progress', logACEvent, false);
        appCache.addEventListener('updateready', logACEvent, false);
        appCache.addEventListener('cached', logACEvent, false);
    }
    checkCache();
    </script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

和我的.htaccess条目(设置内容类型)

AddType …
Run Code Online (Sandbox Code Playgroud)

javascript firefox html5-appcache

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

未捕获(承诺)...使用 catch 时

为什么下面的代码Uncaught (in promise) rejected在捕获时会报错?

function Test() {
  this.start = function(action) {
    return new Promise((resolve, reject) => {
      setTimeout(() => {
        if (action == "fail") return reject("rejected");
        resolve("resolved");
      }, 1000);
    });
  }
}

const test = new Test();
const promise = test.start("fail");
promise.then(console.log);
promise.catch(console.error);
Run Code Online (Sandbox Code Playgroud)

输出(在浏览器中)是:

rejected从 catch()

Uncaught (in promise) rejected从拒绝电话

javascript promise

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