小编Pau*_*ulJ的帖子

如何在Javascript中加载本地JSON文件

我正在编写一个Web应用程序(好吧,实际上它最终将是一个OS X Dashboard小部件,但我决定首先将其原型化为一个简单的网页),需要从本地JSON文件加载一些初始化数据.我的代码看起来像这样:

function loadDatos() {   
    var xobj = new XMLHttpRequest();
    xobj.overrideMimeType("application/json");
    xobj.open('GET', 'datos.json', true);
    xobj.onReadyStateChange = function () {
        if (xobj.readyState == 4) {
            var jsonTexto = xobj.responseText;
            ProcessTheData(jsonTexto);
        }
    }
    xobj.send(null);
}
Run Code Online (Sandbox Code Playgroud)

该函数从HTML文件的BODY标记中的onLoad()事件中调用.现在,从我在调试时看到的,函数被执行,但onReadytStateChange事件处理程序永远不会被调用.

我该怎么办?我认为使用XMLHttpRequest来访问本地文件有点奇怪,但是我看到处理这个问题的新教程似乎说它应该有效(我见过的99%的文档都谈到了如何从远程服务器加载JSON,而不是从本地文件加载JSON.

我正在使用Firefox 3.6.10进行测试,但我也尝试使用Safari 4.

javascript json dashboard

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

TextPad和Unicode:完全支持?

我在Mac上创建了一些UTF-8文件,当尝试在Windows中使用TextPad打开它们时,我收到以下警告:

警告:(文件名)包含代码页1252(ANSI Latin 1)中不存在的字符.如果单击"确定",它们将转换为系统默认字符.

Linux(GNOME gEdit)可以在没有投诉的情况下打开同一个文件.以上是什么意思?我认为TextPad具有完整的UTF-8支持.我可以使用它安全地打开和编辑UTF-8文件而不会破坏文件吗?

windows unicode textpad

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

git:如何找到已经合并的两个分支的共同祖先

为了找到 2 个 git 分支的共同祖先,需要执行以下操作:

git merge-base branch another_branch
Run Code Online (Sandbox Code Playgroud)

好的。但是...如果两个分支已经合并怎么办?当我在这种情况下使用时merge-base,我得到的提交是合并之前的最新提交,我想知道两个分支“合并之前”出现的共同祖先。

换句话说:

Z - A - B - C - D - E - F
     \          /
      G - H - I 
Run Code Online (Sandbox Code Playgroud)

HEAD如果我在这里执行 a git merge-base,我得到的提交是I,而我正在寻找的提交是 A ,或者也许是 Z 。是否有任何 git 指令可以找到它?

git branching-and-merging

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

git 在合并期间什么时候会丢失更改?

让我们说:

  1. 我们有一个 master 分支,其中一个同事不小心添加了一系列本A B C应属于新功能的提交(我们称之为)。
  2. 我发现了这一点,我告诉他将这些提交移动到一个新分支,但保留稍后在 master 中完成的其他无关提交。我向他发送了我问的这个问题,并告诉他按照回复:git: how to move a branch's root two commits back
  3. 几天后,当新功能分支准备就绪时,我将其合并到 master 中。
  4. 解决合并中的所有冲突后,我提交更改...
  5. ...我发现那些第一次提交(A B C那些)已经消失了。
  6. 我问我的同事,他说“他认为”他使用链接中提到的方法移动了这些更改(基本上:检查最后一个常见提交,然后git cherry-pick仅选择我们稍后想要的提交),但他记不清了。
  7. 我检查了回购的历史,A B C 在特性分支,在开始。他们看起来像是从 master 成功迁移过来的。

鉴于上述情况,谁能解释为什么 git 丢失了这些更改?(我个人的理论是 git 以某种方式“记住”我们已经撤消了提交A B C,所以当它们来自新的功能分支时,git 决定不合并它们。编辑:对不起,如果这个解释听起来太像“神奇的想法”,但是我不知所措。我欢迎任何尝试用更专业的术语来解释这个解释,如果它是对的)。

很抱歉无法提供更多细节,但我没有亲自在 repo 中进行这些更改,因此无法提供所做工作的确切细节。

编辑:好的,按照这里的建议,我让我的同事git reflog在他的机器上执行,所以我在这里粘贴结果。回到我之前的(链接的)问题,我们有一棵这样的树:

A - B - C - D - E - F  master
            \ 
             \- G - H  new feature branch
Run Code Online (Sandbox Code Playgroud)

我们想将 …

git version-control rebase

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

git:如何同步到最新版本

警告:git新手在这里.

我使用git(git clone)下载了一个开源项目的源代码(确切地说是ffmpeg ).我检查了一个较旧的版本,以便测试它(git checkout [version number]),并且git告诉我,我现在处于一个独立的HEAD状态.现在我想再次重新同步到最新的远程版本,但我不知道如何.

我不想创建任何本地分支.我没有做任何我希望保留的本地更改.当你是一个认真的开发者(我不是)时,我不想做任何git可以做的花哨的事情.我只希望我的本地源树与最新的远程版本相同.

git checkout .什么都不做 git pull告诉我,我目前不在分支机构.如果没有删除所有内容并git clone再次执行操作,我还能做些什么?

git

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

Google Drive API:使用通配符按名称查找文件?

使用 Google Drive API v3 时,是否可以使用通配符或正则表达式按名称搜索文件?文档没有提及任何内容。

我正在尝试匹配名称具有以下格式的一组文件

backup_YYYY-MM-DD-XXXX_NameOfWebsite_xxxxxxxxxx.zip
Run Code Online (Sandbox Code Playgroud)

我想知道构建可能与之匹配的模式的最佳方法是什么。当然,我可以按照文档做一些类似的事情:

q="name contains 'backup' and name contains 'NameOfWebsite'"
Run Code Online (Sandbox Code Playgroud)

但是,如果我需要匹配不同的模式,或者文件名中包含超过 2 个不同字符串的内容("backup_""NameOfWebsite"),您可以很快看到以这种方式构造查询会是多么痛苦:

q="name contains 'string1' and name contains 'string2' and name contains...
Run Code Online (Sandbox Code Playgroud)

google-drive-api

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

bootstrap-select:可以使用重音不敏感搜索吗?

我正在使用bootstrap-select来使用data-live-search启用的表单,这样用户既可以键入搜索词,也可以在下拉列表中找到它。但是,下拉列表中有一些带有重音符号的字词,例如:

  • 莱昂
  • 卡斯特利翁
  • 纳耶拉

我们想使引导字段中的搜索字段不区分重音。能做到吗 我搜索了该项目的Github,但没有找到任何东西,除了这个问题:

https://github.com/silviomoreto/bootstrap-select/issues/767

我还不清楚它是最终实现还是什么。

accent-insensitive bootstrap-select

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

CakePHP:我总是需要使用isAuthorized()吗?

据我了解,CakePHP的isAuthorized()功能用于检查登录用户是否具有执行给定操作的一组权限; 换句话说,它不是用于检查用户是否具有正确的登录/密码(这login()是用于什么).由于我正在编写的应用程序实际上没有任何权限,但只需要检查用户是否登录,我写了以下isAuthorized()函数:

public function isAuthorized() {
    return true;
    }
Run Code Online (Sandbox Code Playgroud)

但是......它只是感觉不对.我看看上面的函数,坦率地说,它看起来像TheDailyWTF.(而CakePHP抱怨如果我没有isAuthorized()功能,所以我无法真正删除它).

所以我只想要确保我没有错:如果我的应用只需要查看用户是否登录,没有任何进一步的权限,那么上述功能是否足够?

cakephp

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

git:如何移动分支的根两个提交回来

比方说我有:

A - B - C - D - E - F  master
            \ 
             \- G - H  new feature branch
Run Code Online (Sandbox Code Playgroud)

现在我意识到提交B和C实际上属于新功能,所以我想将它们移动到"新功能分支".换句话说,我希望"新功能分支"从A开始,包括提交B和C:

A - D - E - F  master
 \ 
  \- B - C - G - H  new feature branch
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?从我所看到的,似乎这rebase是我正在寻找的功能,但我想确定在我搞砸我的存储库之前.

(我搜索并发现了许多非常相似的问题和例子,但没有一个与我所描述的场景完全相同,所以我要求确定(回购是一件珍贵的事情,毕竟毁了)).

git rebase

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

Google Drive API for Python:如何创建凭证?

我正在编写一个 Python 脚本来自动将一些文件上传到 Google Drive。由于我仍然是一名 Python 程序员新手,而且这与其他任何事情一样都是一种练习,因此我开始遵循Google 快速入门,并决定使用它们quickstart.py作为我自己的脚本的基础。在讨论如何为 Python 脚本创建凭据的部分中,它引用了“创建凭据”链接,网址为https://developers.google.com/workspace/guides/create-credentials

\n

我点击链接,进入我的 Google Cloud 项目之一,并尝试使用“内部”项目设置 OAuth 同意屏幕,正如他们告诉您的那样......但我不能。谷歌说:

\n
\n

\xe2\x80\x9c由于您\xe2\x80\x99 不是 Google Workspace 用户,\n您只能将您的应用提供给外部(普通受众)用户。\xe2\x80\x9d

\n
\n

因此,我尝试创建一个“外部”项目,然后使用桌面应用程序继续创建一个新的客户端 ID。然后,我下载 JSON 凭据并将它们放在与我的 Python 脚本相同的文件夹中,如"credentials.json". 然后我执行 Python 脚本以对其进行身份验证:浏览器打开,我登录到我的 Google 帐户,授予它我的权限...然后浏览器挂起,因为它正在重定向到本地主机 URL,显然是我的小Python 脚本根本没有在我的计算机上监听。

\n

我相信他们最近一定改变了这一点,因为一年前我开始遵循相同的 Python 教程并且可以毫无问题地创建凭据,但 Google Drive API 文档尚未更新。那么...现在如何为 Python 脚本创建凭据?

\n

编辑:在此处添加我的脚本的源代码。正如我所说,它与 Google 的“quickstart.py”非常相似:

\n
from __future__ import print_function\nimport pickle\nimport os.path\nfrom googleapiclient.discovery import build\nfrom google_auth_oauthlib.flow import InstalledAppFlow\nfrom google.auth.transport.requests import Request\nfrom googleapiclient.errors import HttpError\n\n\n# If …
Run Code Online (Sandbox Code Playgroud)

python google-drive-api google-oauth google-cloud-platform

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

nth-child:如何以两个为一组选择元素

假设我有一个这样的表格:

 <div class="fc-slats">
  <table>
    <tbody>
      <tr>
        <td class="fc-widget-content fc-major">16</td>
        <td class="fc-widget-content fc-minor">16</td>
        <td class="fc-widget-content fc-major">17</td>
        <td class="fc-widget-content fc-major">17</td>
        <td class="fc-widget-content fc-major">18</td>
        <td class="fc-widget-content fc-minor">18</td>
      </tr>
    </tbody>
  </table>
  </div>
Run Code Online (Sandbox Code Playgroud)

我希望第一和第二个细胞有一种颜色,第三和第四个细胞有另一种颜色,第五和第六个细胞有第一种颜色......换句话说,它是旧的奇偶交替配色方案,除了每组有两个细胞.

我试图用CSS的nth-child选择器做到这一点:

fc-slats td:nth-child(int(n/2)) {
  background-color: red;
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何编写"nth-child"选择器的公式.我想CSS不支持有数学函数一样int,或像条件语句if... then,所以在这种情况下,我将如何实现这一目标?

编辑:为了简洁起见,我在这个表中添加了6个单元格,但是假设表格具有任意长度; 换句话说,我正在寻找一种"通用"解决方案.

css css-selectors

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