小编Tyl*_*coe的帖子

如何通过firebase的子值按降序分页?

假设我有一些数据如下:

{
    "name": "post #1",
    "votes": 100
},
{
    "name": "post #2",
    "votes": 10000
},
{
    "name": "post #3",
    "votes": 750
}
Run Code Online (Sandbox Code Playgroud)

等等.

firebase中的数据显然不是通过投票排序的,而是按键排序.

我希望能够按照降序的投票数对这些数据进行分页.

我想我必须做的事情如下:

ref.orderByChild('votes')
    .startAt(someValue)
    .limitToFirst(someOtherValue)
    .once('value', function(snapshot) {
        resolve(snapshot);
    });
Run Code Online (Sandbox Code Playgroud)

或许,我需要使用limitToLast,和endAt

分页key很容易,但是这个让我很难过.

更新(2017-10-16): Firebase最近宣布了Firestore - 他们完全托管的NoSQL数据存储区,可以更轻松地执行更复杂的查询.可能仍有一些用例可能会使用他们一直提供的实时数据库.如果你是其中一个人,这个问题仍应适用.

javascript firebase firebase-realtime-database

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

添加自定义托管域:"找到意外的TXT记录.继续关注更改."

我正在尝试向firebase托管添加自定义域.

按照说明添加了TXT记录,我在firebase仪表板中收到了此消息:

"发现了意外的TXT记录.继续关注变化."

我的DNS设置中还有一个额外的TXT记录,但我无法将其删除.我不知道它会如何影响firebase对我的域名的验证.

如果有帮助,我正在使用Namecheap.

提前致谢!

firebase firebase-hosting firebase-realtime-database

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

如何防止慢速脚本警告并强制浏览器继续运行脚本直到完成?


更新(2013年7月5日):

自从我最初提出这个问题以来,我学到了很多东西.在下面的一条评论中,有人建议我重新处理任务并找到解决问题的方法,而不会有阻止UI的风险.我说这是不可能的,函数必须按原样运行.我实际上并不记得我试图通过该功能完成的任务,但我确信评论者是对的,我错了.如果您偶然发现这个问题并且处于与我相似的情况,那么请认真考虑您的方法存在缺陷的可能性.

您可能还想查看Web工作者.

这是您可以期待它们工作的地方.


原始问题:

我不会过于具体地解决我的问题,而是保持这种通用性,以便其他偶然发现它的人可以发现它很有用.

我有一个函数接受一个参数,一个字符串.如果字符串很短,则函数运行正常并及时完成.但是,如果传入的字符串太长,脚本会运行一段时间,那么最终会超时并返回浏览器的慢脚本对话框,允许用户终止脚本.

我想防止这种情况发生,所以脚本可以继续到它的终点.

如何才能做到这一点?

旁注:如果我能够正常工作,我还想创建一个状态栏,类似于加载gmail时看到的状态栏,这样用户就知道事情正在发生.

谢谢!

javascript

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

通过DOM解析获得所有孩子和价值观

容器是一个div我添加了一些基本的HTML.

debug_log函数正在打印以下内容:

我在一个跨度!
我在一个div!
我在一个
p

p标签中其他文本发生了什么("aragraph tag !!").我想我不明白如何走过文档树.我需要一个函数来解析整个文档树并返回所有元素及其值.下面的代码是一个第一次破解,只是显示所有值.

    container.innerHTML = '<span>I\'m in a span! </span><div> I\'m in a div! </div><p>I\'m in a <span>p</span>aragraph tag!!</p>';

    DEMO.parse_dom(container);



   DEMO.parse_dom = function(ele)
    {
        var child_arr = ele.childNodes;

        for(var i = 0; i < child_arr.length; i++)
        {
            debug_log(child_arr[i].firstChild.nodeValue);
            DEMO.parse_dom(child_arr[i]);
        }
     }
Run Code Online (Sandbox Code Playgroud)

javascript recursion dom

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

为什么chrome.runtime在内容脚本中未定义?

我有一个非常简单的chrome扩展,我正在尝试将消息从后台脚本传递到内容脚本.但是chrome.runtime未定义.

这里几乎是所有的代码,你可以看到几乎没有任何代码.在内容脚本中,运行时未定义.

后台脚本:

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.runtime.sendMessage({action: 'someAction'}, 
    function(response) {
      console.log('Response: ', response);
    });
});
Run Code Online (Sandbox Code Playgroud)

内容脚本:

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
  sendResponse({
    user: 'user'
  });
});
Run Code Online (Sandbox Code Playgroud)

的manifest.json

{
  "manifest_version": 2,
  "name": "My Extension",
  "version": "1.0",

  "description": "Some stupid extension",

  "browser_action": {
    "default_icon": "icons/MyExtensionIcon.png"
  },
  "icons": {
    "48": "icons/MyExtensionIcon.png"
  },
  "permissions": [
    "tabs",
    "storage",
    "https://*/",
    "http://*/"
  ],
  "content_scripts": [
    {
      "matches": ["*://*.twitter.com/*", "https://twitter.com/*"],
      "js": ["js/content.js"]
    }
  ],
  "background": {
    "scripts": ["js/background.js"],
    "persistent": true
  },
  "web_accessible_resources": [
    "js/*",
    "css/*"
  ]
}
Run Code Online (Sandbox Code Playgroud)

其他信息: …

javascript google-chrome-extension

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

是否可以使特定元素不会在其父元素中导致滚动条?

我有一个容器 div,里面有许多元素(即 span、img、div 等)。

我希望容器 div 在其内容变得太大时自然滚动。然而,容器 div 内有一个 div,如果它变得太大,我希望不会导致容器滚动。

甚至不确定这是否可能。

提前致谢!

附言。请不要使用 jQuery!:)

javascript css

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

当我将操作传递给 mapDispatchToProps 时,为什么 this.props 未定义?

tl;dr:在 LoginForm 中,this.props尽管我在 mapDispatchToProps 中传递了操作,但未定义。

我已经在connect函数中设置了断点,并且操作正在将其放入连接函数中,但无论出于何种原因,在handleSubmit函数中,this.props 是未定义的。

我难住了。

我有一个单独的“注册”流程,它与我下面的流程基本相同,并且运行良好。

我基本上复制粘贴了注册代码,并将所有内容重命名为“登录”,并稍微修改了一些内容,无论出于何种原因this.props 未定义,即使我传递给 mapDispatchToProps 的内容似乎是正确的。

组件:

import React from 'react';
import { connect } from 'react-redux';

import { loginSubmit, loginUpdateField } from '../../redux/actions/login.actions';
import { TextInput } from '../../stories/TextInput';
import { Button } from '../../stories/Button';

export class LoginForm extends React.Component {
  // eslint-disable-next-line
  constructor(props) {
    super(props);
  }

  handleSubmit(event) {
    event.preventDefault();
    console.log('Props: ', this.props); // UNDEFINED!!!!!!
  }

  handleUpdateField(field, value) {
    // this.props.updateField(field, value);
  }

  render() …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux

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

是什么导致Uncaught TypeError:number不是函数?

你可以告诉我,我正在尝试组建一个非常简单的3D引擎.我是用javascript写的.我认为公式中可能存在错误,但对于我的生活,我找不到它.所以现在我想可能还有其他我尚未考虑的事情.错误发生在第21行(dx = Math.cos .....)

这是我的代码的相关部分:

// Camera Position in x,y,z
var c = [ 0,0,0 ];

// Viewer position [x,y,z]
var v = [ 0,0,0 ];

// Angle of view [x, y, z]
var a = [ 0.01, 0.01, 0.01 ];

var point =  [ 0,0, 50 ];

dx = Math.cos(a[1])(Math.sin(a[2])(point[1] - c[1]) + Math.cos(a[2])(point[0] - c[0])) - Math.sin(a[1])(point[2] - c[2]);
dy = Math.sin(a[0])(Math.cos(a[1])(point[2] - c[2]) + Math.sin(a[1])(Math.sin(a[2])(point[1] - c[1]) + Math.cos(a[2])(point[0] - c[0]))) + Math.cos(a[0])(Math.cos(a[2])(point[1] - c[1]) - Math.sin(a[2])(point[0] …
Run Code Online (Sandbox Code Playgroud)

javascript 3d

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

网页布局完全由javascript生成是错误的吗?

我目前正在开发一个项目,并用Javascript编写了整个页面.

我创建了一个基本功能:

create_element(parent, type, style, attributes);
Run Code Online (Sandbox Code Playgroud)

用法示例:

var container = create_element(document.body, "div", {width: "100%", height: "100%"});
var header_bar = create_element(container, "div",  {width: "100%", height: "50px"});
var title_span = create_element(header_bar, "span", {fontSize: "18px", fontFamily: "arial", color: "black"});
title_span.innerHTML = "Example Website";
Run Code Online (Sandbox Code Playgroud)

等等...

我使用这种方法来完成网站的整个布局.使用这种方法有一个很大的缺点吗?显而易见的一个事实是,可能仍有人因为JS被禁用.

如果Javascript正在创建和呈现项目而不是将它们硬编码到HTML中,那么页面加载时间是否存在明显差异?

谢谢!

TL; DR -

创建了一个create_element函数,并使用它将所有元素绘制到屏幕上.包括页面的基本布局.

html javascript jquery

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

解析dom元素的更有效方法?

我有一些我需要解析的HTML.

基本上我正在走过一个给定元素的dom.抓取文本节点和元素节点.

当我遇到文本节点时,我会逐个字符地将它们打印成不同的元素.每个角色都放置在自己的跨度中,具有自己的样式,该样式取自任何附加样式的元素节点.

因此,当找到元素节点时,它的样式将应用于检测到的任何文本节点,直到找到另一个元素节点并将旧样式替换为新样式.

以下代码有效.如果源元素中有句子或短段落,则会在不到一秒的时间内准确地再现文本.文本越长,花费的时间越长(duh).

有趣的是,目标元素中已经存在的文本越多,所需的时间就越长.因此,如果我在相同的源元素上运行此函数10次,并且处理相同的文本正文,那么它将比第1次运行速度慢第10次,可能是因为在元素中渲染文本更难那已经有了内容.

无论如何,我真的需要找到一种方法来使这个东西运行得更快.

最后,这是一个示例HTML代码段,可能需要处理:

<span style='blah: blah;'> Some text </span><span>Even more text </span> <p> stuff </p>
Run Code Online (Sandbox Code Playgroud)

生成的HTML将是:

<span style='blah: blah;'>S</span>
<span style='blah: blah;'>o</span>
<span style='blah: blah;'>m</span>
<span style='blah: blah;'>e</span>
<span style='blah: blah;'> </span> 
<span style='blah: blah;'>t</span>
<span style='blah: blah;'>e</span>
<span style='blah: blah;'>x</span>
<span style='blah: blah;'>t</span> 
.......
Run Code Online (Sandbox Code Playgroud)

没有什么花哨.

这是代码:

码:

ed.rta_to_arr_paste = function(ele, cur_style) {

    var child_arr = ele.childNodes;

    if(!(is_set(cur_style))) {
        cur_style = {};
    }

    for(var i = 0; i < child_arr.length; i++) {
        if(child_arr[i].nodeType == 1) …
Run Code Online (Sandbox Code Playgroud)

javascript dom

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

尽管在php.ini中启用了allow_url_fopen和simpleXML,但为什么未定义SimpleXMLElement?

我的代码只是返回以下内容:

致命错误:在第6行的/path/to/xmltest.php中调用未定义的函数SimpleXMLElement()

和代码本身:

<?php
$language_url = "http://www.fakesite.com/api/FAKEAPIKEY/languages.xml";

// Passing the XML
$data = file_get_contents($language_url);
$books = SimpleXMLElement($data);

//-------------------
// Passing a filename
//$books = SimpleXMLElement($language_url, null, true);
?>
Run Code Online (Sandbox Code Playgroud)

当然,这$language_url是有效的,但出于隐私考虑,我对其进行了更改。它位于我尝试运行此脚本的其他站点上。

php xml simplexml

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