小编dmo*_*dmo的帖子

querySelectorAll和getElementsBy*方法返回什么?

getElementsByClassName(等类似的功能getElementsByTagNamequerySelectorAll)的工作方式相同getElementById,还是他们返回元素的数组?

我问的原因是因为我试图改变所有元素的样式getElementsByClassName.见下文.

//doesn't work
document.getElementsByClassName('myElement').style.size = '100px';

//works
document.getElementById('myIdElement').style.size = '100px';
Run Code Online (Sandbox Code Playgroud)

javascript dom-traversal getelementsbyclassname

125
推荐指数
8
解决办法
8万
查看次数

Cloudsearch模糊术语和短语

我试图了解模糊搜索在AWS CloudSearch上的工作原理

我想找到"星球大战",但在我的搜索中,我拼写它

ster wers
Run Code Online (Sandbox Code Playgroud)

我的应用程序的逻辑将增加模糊,但它永远不会返回星球大战.我试过了:

ster~1 wers~1
"ster wers"~2
"ster"~1 "wers"~1
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

amazon-web-services amazon-cloudsearch

12
推荐指数
1
解决办法
1550
查看次数

Firebase查询孙子/多级查询

从我读过的所有内容来看,似乎无法查询多级值.我的数据结构如下所示:

{
"dinosaurs": {
    "bruhathkayosaurus": {
        "meta":{
            "addedBy":"John",
            "addedDate":"02021987"
        },
        "appeared": -70000000,
        "height": 25
    },
    "lambeosaurus": {
        "meta":{
            "addedBy":"Peter",
            "addedDate":"12041987"
        },
        "appeared": -76000000,
        "height": 2.1
    }
}
}
Run Code Online (Sandbox Code Playgroud)

在不知道恐龙的关键名称的情况下,无论如何都要查询元节点,仅检索由John添加的项目.

在JS中像:

    var ref = new Firebase('test.firebaseio.com/dinosaurs');
    ref.orderByChild("meta/addedBy")
    .equalTo('Peter')
    .on("child_added", function(snapshot) {
        console.log(snapshot);
    });
Run Code Online (Sandbox Code Playgroud)

有一些hacky解决方案,但没有一个是可扩展的,我应该只是扁平化这些数据吗?

编辑:

我需要代码审查......这是一个可以接受的解决方案吗?

    var ref = new Firebase('test.firebaseio.com/dinosaurs');
    ref.orderByChild("meta")
    .on('child_added',function(snap1){
        snap1.ref().orderByChild("addedBy")
        .equalTo("Peter")
        .on('child_added', function(snap2) {
           console.log(snap2.val());
        })
    });
Run Code Online (Sandbox Code Playgroud)

firebase

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

密码重置后,Firebase Auth不会更新

一旦第一次加载Firebase Auth对象,我似乎无法弄清楚如何重置它.

我正在寻找强制用户重置密码的bool trueauth.password.isTemporaryPassword.一旦用户执行了此过程并重置,则auth.password.isTemporaryPassword保留true.

我找到的唯一方法是将用户注销并再次登录,刷新auth对象.

登录:

var ref = new Firebase(environment);

$firebaseAuth(ref)
.$authWithPassword({
     email: email,
     password: password
},sessionObj)
.then(function(authData) {
    if (password.isTemporaryPassword === true) {
        $state.go('resetpassword');
    }
})
.catch(function(error) {
    deferred.reject(error);
});
Run Code Online (Sandbox Code Playgroud)

重设密码:

$scope.reset.oldPassword         =  "oldPass";
$scope.reset.newPassword         =  "newPass";
$scope.reset.email              =   "usermail";

ref.changePassword($scope.reset, function(err) {
    if(err) {
         ...
    }
    else {
        $state.go('home')
    }
})
Run Code Online (Sandbox Code Playgroud)

password.isTemporaryPassword保持true,直到我再次登录用户似乎哈克.

authentication angularjs firebase

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

如何修复iOS 12 Safari Cors预检错误?

我正在尝试更好地理解COR,因为我们的网络应用程序的几个用户抱怨,因为他们升级到iOS 12他们正在接收预检错误.

Web检查员的错误

[Error] Preflight response is not successful
[Error] Fetch API cannot load https://www.api.com due to access control checks.
[Error] Failed to load resource: Preflight response is not successful (v4, line 0)
Run Code Online (Sandbox Code Playgroud)

客户端应用程序是Apollo的React应用程序.它使用Apache HTTPD和Express JS通过HTTPS调用服务器.

在所有其他浏览器上一切正常,这与iOS 12隔离.

奇怪的是,当我浏览HTTPD访问日志时,我看不到任何预检电话.当我尝试直接点击服务器时(在iOS 12上),我在日志中看到了预检OPTIONS请求和POST.但是当通过Web应用程序调用服务器时,COR的预检失败了.

在快递应用程序中,我还注销了所有请求,但它也没有出现.

在HTTPD我有设置

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS
Run Code Online (Sandbox Code Playgroud)

在表达我有同样的事情.

有任何想法吗?!

cors ios express apollo ios12

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

Elasticsearch:聚合数组中的不同值

我使用 Elasticsearch 来存储点击流量,每一行都包含已访问页面的主题。典型的行如下所示:

{
  "date": "2017-09-10T12:26:53.998Z",
  "pageid": "10263779",
  "loc_ll": [
    -73.6487,
    45.4671
  ],
  "ua_type": "Computer",
  "topics": [
    "Trains",
    "Planes",
    "Electric Cars"
  ]
}
Run Code Online (Sandbox Code Playgroud)

我希望每个topics都是一个关键字,所以如果我搜索cars什么都不会返回。只会Electric Cars返回一个结果。

我还想对所有行中的所有主题运行一个不同的查询,因此我有一个使用的所有主题的列表。

在 a 上执行此操作pageid将如下所示,但我不确定如何为topics数组处理此问题。

{
  "aggs": {
    "ids": {
      "terms": {
        "field": pageid,
        "size": 10
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

elasticsearch

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

如何通过ajax动态加载list.js并进行排序以继续工作

我有一个静态HTML页面,使用Ajax加载动态表.我想要加载的表是使用list.js和jQuery构建的可排序表.当表格按行编码时,它们会加载并且可以排序而不会出现问题.一旦我介绍Ajax,数据就会出现,但排序不再有效.

我知道绑定和.on(),但我不知道如何使用list.js

示例代码:

<html>
<head>
<script 
src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"
src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"
src="//listjs.com/js/list.js"

$(document).ready(function(){

// Define value names
var overview_options = { valueNames: [ 'name', 'term', 'module', 'activity' ] };

// Init list
var overviewList = new List('list_overview', overview_options);

});

function loadTable() {

getTable=new XMLHttpRequest();
getTable.onreadystatechange=function()
{
if (getTable.readyState==4 && getTable.status==200)
    {
            document.getElementById("tableArea").innerHTML=getTable.responseText;
    }
}
getTable.open("GET","tableDate.html",true);
getTable.send();        
}

</script>

</head>
<body>

<div onClick="loadTable();">Load Table</div>
<div id="tableArea"></div>

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

而Ajax文件正在引入:

<div class="list_holder">
  <table id="list_overview" cellpadding="10" >
    <thead>
      <tr>
        <th><span class="sort" data-sort="name">Name</span></th>
        <th><span class="sort" data-sort="term">Term</span></th>
        <th><span …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

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