我正在编写一个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.
我在Mac上创建了一些UTF-8文件,当尝试在Windows中使用TextPad打开它们时,我收到以下警告:
警告:(文件名)包含代码页1252(ANSI Latin 1)中不存在的字符.如果单击"确定",它们将转换为系统默认字符.
Linux(GNOME gEdit)可以在没有投诉的情况下打开同一个文件.以上是什么意思?我认为TextPad具有完整的UTF-8支持.我可以使用它安全地打开和编辑UTF-8文件而不会破坏文件吗?
为了找到 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 指令可以找到它?
让我们说:
A B C
应属于新功能的提交(我们称之为)。A B C
那些)已经消失了。git cherry-pick
仅选择我们稍后想要的提交),但他记不清了。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新手在这里.
我使用git(git clone
)下载了一个开源项目的源代码(确切地说是ffmpeg ).我检查了一个较旧的版本,以便测试它(git checkout [version number]
),并且git告诉我,我现在处于一个独立的HEAD状态.现在我想再次重新同步到最新的远程版本,但我不知道如何.
我不想创建任何本地分支.我没有做任何我希望保留的本地更改.当你是一个认真的开发者(我不是)时,我不想做任何git可以做的花哨的事情.我只希望我的本地源树与最新的远程版本相同.
git checkout .
什么都不做 git pull
告诉我,我目前不在分支机构.如果没有删除所有内容并git clone
再次执行操作,我还能做些什么?
使用 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) 我正在使用bootstrap-select来使用data-live-search
启用的表单,这样用户既可以键入搜索词,也可以在下拉列表中找到它。但是,下拉列表中有一些带有重音符号的字词,例如:
我们想使引导字段中的搜索字段不区分重音。能做到吗 我搜索了该项目的Github,但没有找到任何东西,除了这个问题:
https://github.com/silviomoreto/bootstrap-select/issues/767
我还不清楚它是最终实现还是什么。
据我了解,CakePHP的isAuthorized()
功能用于检查登录用户是否具有执行给定操作的一组权限; 换句话说,它不是用于检查用户是否具有正确的登录/密码(这login()
是用于什么).由于我正在编写的应用程序实际上没有任何权限,但只需要检查用户是否登录,我写了以下isAuthorized()函数:
public function isAuthorized() {
return true;
}
Run Code Online (Sandbox Code Playgroud)
但是......它只是感觉不对.我看看上面的函数,坦率地说,它看起来像TheDailyWTF.(而CakePHP抱怨如果我没有isAuthorized()
功能,所以我无法真正删除它).
所以我只想要确保我没有错:如果我的应用只需要查看用户是否登录,没有任何进一步的权限,那么上述功能是否足够?
比方说我有:
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
是我正在寻找的功能,但我想确定在我搞砸我的存储库之前.
(我搜索并发现了许多非常相似的问题和例子,但没有一个与我所描述的场景完全相同,所以我要求确定(回购是一件珍贵的事情,毕竟毁了)).
我正在编写一个 Python 脚本来自动将一些文件上传到 Google Drive。由于我仍然是一名 Python 程序员新手,而且这与其他任何事情一样都是一种练习,因此我开始遵循Google 快速入门,并决定使用它们quickstart.py
作为我自己的脚本的基础。在讨论如何为 Python 脚本创建凭据的部分中,它引用了“创建凭据”链接,网址为https://developers.google.com/workspace/guides/create-credentials
我点击链接,进入我的 Google Cloud 项目之一,并尝试使用“内部”项目设置 OAuth 同意屏幕,正如他们告诉您的那样......但我不能。谷歌说:
\n\n\n\xe2\x80\x9c由于您\xe2\x80\x99 不是 Google Workspace 用户,\n您只能将您的应用提供给外部(普通受众)用户。\xe2\x80\x9d
\n
因此,我尝试创建一个“外部”项目,然后使用桌面应用程序继续创建一个新的客户端 ID。然后,我下载 JSON 凭据并将它们放在与我的 Python 脚本相同的文件夹中,如"credentials.json"
. 然后我执行 Python 脚本以对其进行身份验证:浏览器打开,我登录到我的 Google 帐户,授予它我的权限...然后浏览器挂起,因为它正在重定向到本地主机 URL,显然是我的小Python 脚本根本没有在我的计算机上监听。
我相信他们最近一定改变了这一点,因为一年前我开始遵循相同的 Python 教程并且可以毫无问题地创建凭据,但 Google Drive API 文档尚未更新。那么...现在如何为 Python 脚本创建凭据?
\n编辑:在此处添加我的脚本的源代码。正如我所说,它与 Google 的“quickstart.py”非常相似:
\nfrom __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) 假设我有一个这样的表格:
<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个单元格,但是假设表格具有任意长度; 换句话说,我正在寻找一种"通用"解决方案.