小编kev*_*ler的帖子

我在这个简单的Closure上做错了什么

它可能是睡眠剥夺,但我不明白为什么这不起作用.我希望onclick从创建元素的for循环返回i的值并应用事件处理程序.把它放在一个闭包中,它仍然是转动迭代器的最大数量.

window.onload = function(){
  var arbitrary_amount = 100;
  var the_list = document.getElementsByTagName('ul')[0];

  for(var i = 0; i < arbitrary_amount; i++){
    var natural_index = i + 1;
    var list_item = document.createElement('li');
    var inner_link = document.createElement('a');
    inner_link.setAttribute('href', '#');
    inner_link.innerHTML = "Link "+natural_index;

    inner_link.onclick = function(){
      return function(link_num){
        alert('You clicked link '+link_num);
      }(i);
    };

    list_item.appendChild(inner_link);
    the_list.appendChild(list_item);
  }


};
Run Code Online (Sandbox Code Playgroud)

javascript closures javascript-events

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

创建后如何让Facebook测试用户的电子邮件和密码?

我正在使用Selenium来测试Facebook认证应用.目前我在测试套件中使用脚本通过发布到此处的测试用户api来创建Facebook测试用户:https: //developers.facebook.com/docs/test_users/

https://graph.facebook.com/APP_ID/accounts/test-users?
installed=true
&name=FULL_NAME
&locale=en_US
&permissions=read_stream
&method=post
&access_token=APP_ACCESS_TOKEN
Run Code Online (Sandbox Code Playgroud)

这让我回复了:

{ 
  "id": "1234...",  
  "access_token":"1234567..." , 
  "login_url":"https://www.facebook.com/platform/test_account..."
  "email": "example...@tfbnw.net",
  "password": "1234..."
}
Run Code Online (Sandbox Code Playgroud)

这给了我测试的用户名和密码.但是,如果我想在以后的测试中重用该用户,我不知道如何获取此信息.我可能在寻找一些东西.如果我执行GET请求以获取已注册测试用户的列表,则响应如下所示:

{
 "data" [
   { 
    "id": "1231....",  
    "access_token":"1223134..." , 
    "login_url":"https://www.facebook.com/platform/test_account.." 
   }
   { 
    "id": "1231....",  
    "access_token":"1223134..." , 
    "login_url":"https://www.facebook.com/platform/test_account.." 
   }
 ]
}
Run Code Online (Sandbox Code Playgroud)

这个响应不会给我任何电子邮件/密码,我需要在完整的测试中登录测试用户.我宁可不使用记录他们在access_tokenlogin_url,因为这是不正确的网站在Facebook上的身份验证流程.

integration-testing facebook facebook-graph-api selenium-webdriver

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

没有父容器的ng-repeat

我正在使用Jquery Accordion http://jqueryui.com/accordion/

预期的标记如下.由于它h3位于任何父容器之外,我如何使用ng-repeat重复此结构?我试过包装div但是打破了手风琴的功能

<div id="accordion">

  <h3>Section 1</h3>
  <div>
    <p>
    Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer
    ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit
    amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut
    odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.
    </p>
  </div>

  <h3>Section 2</h3>
  <div>
    <p>
    Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet
    purus. Vivamus hendrerit, dolor …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui angularjs

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

为什么MySQL Rand()讨厌我?

这是我在更大的连接查询上尝试做的事情的简化查询.它仍然在这个小规模上打破.我试图为在1-60范围内拉回的每一行生成一个随机数.然后我想通过这个随机数对返回的行进行排序.

 SELECT downloads . * , 
(FLOOR( 1 + ( RAND( ) *60 ) )) AS randomtimer
FROM downloads
ORDER BY randomtimer
LIMIT 25 
Run Code Online (Sandbox Code Playgroud)

我有2个数据库我试过这个查询.一个活的和一个开发的.我并排比较两者,它们在结构上都是一样的.它在开发者上正常工作.返回randomtimer排序的行.

实时表返回randomtimer列中的所有1.如果我通过随机选择ASC订购,他们将成为60年代.如果我从Order By子句中删除randomtimer,它将返回正确的单个值.所以有些东西正在调整ORDER BY语句中的值.

任何人对此都有任何想法?我可能会忽略一些东西吗?WTF?WTF?

mysql random

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

如何获取Expo静态深层链接进行开发?

我需要一个用于开发的 Expo 静态深层链接,用于与 3rd 方 (Cognito) 进行 Oauth 重定向

我已经使用过,Linking.makeUrl()但这会返回一个带有动态本地 ipaddress exp://10.0.0.107:19000 的深层链接,这对于团队中的其他开发人员来说是不一致的。

文档位于:https : //docs.expo.io/versions/latest/workflow/linking/#linking-module

说各种环境链接看起来像

  • 在世博客户端发布的应用程序exp://exp.host/@community/with-webbrowser-redirect

  • 独立发布的应用程序myapp://

  • 发展exp://wg-qka.community.app.exp.direct:80

我已经尝试过该开发链接,但无法打开。

deep-linking amazon-cognito react-native expo

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

Mobx 如何缓存计算值?

我正在使用 Mobx 构建一个 webgl 游戏引擎。我没有将它与反应一起使用。我正在使用它来增强实体组件系统。我有实体类

import {observable, observe, computed, autorun} from 'mobx';

class Entity {
  @observable position = [0,0,0]
  @observable rotation = [0,0,0]

  @computed get modelMat(){
    return position * rotation;
  }
}
Run Code Online (Sandbox Code Playgroud)

我使用这个实体,如:

var ent = new Entity();
entity.position = [0,10,0];
if(entity.modelMat == 6){
  // do something
}
Run Code Online (Sandbox Code Playgroud)

我的理解是,modelMat像这样直接阅读不是最佳做法。它导致计算被重新计算。它没有被缓存。这对我的游戏引擎是有害的,因为我可能会以 60fps 的高速访问这些计算值。

这对我来说似乎不直观,因为您使用gethelper定义了计算,然后不应该将它用作 getter?调试computedRequiresReaction设置可用于防止这种直接计算读取的模式。

configure({
  computedRequiresReaction: true
});
Run Code Online (Sandbox Code Playgroud)

我的问题是如何缓存或记忆这些将频繁访问的计算值?为了避免这种情况,我开始使用一种使用自动运行的模式,在计算更改时更新局部变量。看起来像:

class Entity {
  @observable position = [0,0,0]
  @observable rotation = [0,0,0]

  modelMat = []

  constructor(){
    autorun(() …
Run Code Online (Sandbox Code Playgroud)

javascript mobx

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

如何正确压缩Jquery和许多插件?

我正在尝试清理网站的javascript.我发现我的网站的标题看起来像这样并且在增长:

<script type="text/javascript" src="jquery.base.js"></script>
<script type="text/javascript" src="jquery.plugin1.js"></script>
<script type="text/javascript" src="jquery.plugin2.js"></script>
<script type="text/javascript" src="jquery.plugin3.js"></script>
<script type="text/javascript" src="jquery.plugin4.js"></script>
Run Code Online (Sandbox Code Playgroud)

我很清楚许多http请求的负面影响.该网站还有许多嵌入式js,需要将其拉入外部文件.我想知道我是否能够将所有这些粘贴在一起并通过一些压缩运行它会导致问题吗?我希望有人有一些比喻经验.

javascript compression jquery jquery-plugins

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