我们正在尝试在我们的iOS网络应用上滚动元素,同时防止窗口本身滚动.我们正在touchmove
窗口上捕获事件,以编程方式滚动元素并(尝试)通过调用preventDefault
事件来阻止窗口本身滚动.
不幸的是,这在Mobile Safari中不起作用.窗口继续在我们的元素下滚动.问题听起来与https://bugs.webkit.org/show_bug.cgi?id=163207中描述的Webkit错误完全相同,但该问题在iOS 10.3中已得到修复,而我运行的是11.3.
捕获touchforcestart
和调用preventDefault
似乎确实阻止了窗口的滚动,但是我们正在调用它touchstart
,因为窗口仍然滚动,这似乎"太晚了".滚动仅在下次touchstart
调用时被阻止.
关于发生了什么的任何想法?我们感到困惑,因为这显然是一个错误,但它似乎已经修复了一段时间.
假设我有以下HTML:
<div class="foo">
<ul>
<li>One</li>
<li>Two</li>
</ul>
</div> <!-- not originally here -->
<div class="bar">
<ul>
<li>Three</li>
<li>Four</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我想选择所有li
那些元素不具有类元素的后代foo
.我知道我可以用一个花哨的过滤器功能来做到这一点,但我想知道我是否可以只使用一个选择器.首先我试过:
$(":not(.foo) li")
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用,因为li
有其他祖先没有风格(ul
在这种情况下).以下似乎有效;
$(":not(.foo) :not(.foo) li")
Run Code Online (Sandbox Code Playgroud)
换句话说,选择所有li
没有祖先的元素,这些祖先具有类foo
或者具有类的祖先foo
.也许这是使用选择器执行此操作的最佳/唯一方法,但我对:not
选择器的重复感到不满.还有更好的想法吗?
在我的Jenkins工作中,我想使用Grunt构建一个JavaScript应用程序.Jenkins构建脚本创建一个构建目录(如果它尚不存在),对该目录的更改并运行:
npm install grunt
npm install grunt-zip
grunt --gruntfile=[something]
Run Code Online (Sandbox Code Playgroud)
(当然grunt-cli
是全局安装的.)当我构建作业时,第一个语句会导致Grunt和依赖关系按预期被拉下来.但是,作业会成功终止:
Archiving artifacts
No emails were triggered.
Finished: SUCCESS
Run Code Online (Sandbox Code Playgroud)
第二个npm install
没有运行.知道为什么脚本在运行后终止npm install
而不是继续后续的语句?
繁重的文档指出它(和任何插件),应包括在devDependencies
部分package.json
.我可能错过了一些明显的东西,但我看不出原因.如果我想部署我的应用程序的生产版本,我仍然需要构建它.如果我没有建造它,那么为什么我需要Grunt?
换句话说,想象一下我拉回我的回购说:
npm install --production
Run Code Online (Sandbox Code Playgroud)
如果Grunt在该devDependencies
部分,我现在如何构建我的应用程序?
在各种React问题和其他地方,有一些分散的引用"横向数据加载" ,但我还没有找到这个术语的确切含义的简明描述.有人可以澄清吗?
当用户单击某个select
框时UIWebView
,屏幕底部会显示一个包含可用选项的本机弹出窗口.网页内容向上滚动以为此弹出窗口腾出空间.
这个滚动发生时似乎没有触发DOM事件,尽管值body.scrollTop
确实发生了变化.有没有办法检测弹出窗口何时打开,或者我们是否必须使用setInterval
轮询和观察scrollTop
更改?
我们有使用Cognito进行身份验证的React Native应用程序。我们希望防止同一用户ID同时从多个设备登录。
希望我们可以为此使用Cognito预身份验证触发器。不幸的是,似乎我们不能仅仅呼吁globalSignOut
用户,因为那不会使已经发行且当前处于活动状态的令牌无效(请参阅https://github.com/amazon-archives/amazon-cognito-identity-js / issues / 21#issuecomment-331472144)。
另一个想法是,如果用户在其他地方登录,则拒绝登录。但是我们看不到一种可靠的方式来判断用户是否已经登录。我们可以查看是否为该用户发行了有效的令牌,但是看不到当前是否与活动会话相关联。
我们还考虑过维护自己的活动会话数据库,但是没有退出触发器,因此我们不知道何时从数据库中删除会话。
authentication amazon-web-services amazon-cognito aws-lambda react-native
我刚刚看了看Dave Herman非常有趣的任务.js.在他的例子中他有这条线:
var [foo, bar] = yield join(read("foo.json"),
read("bar.json")).timeout(1000);
Run Code Online (Sandbox Code Playgroud)
我熟悉生成器,但我不明白yield表达式如何评估可以分配给[foo,bar]的东西.我实际上不希望表达式可以赋值给任何东西,因为它与return基本相同.
JS的yield语法似乎仍然有点未记录,我找不到相关的信息.
所以澄清我的问题:最终被分配到foo和bar的是什么?
我在Python 2.7中实现了Pivotal Tracker API模块.该枢纽跟踪API期望POST数据是XML文档和"应用程序/ xml"的是内容类型.
我的代码使用urlib/httplib发布文档,如下所示:
request = urllib2.Request(self.url, xml_request.toxml('utf-8') if xml_request else None, self.headers)
obj = parse_xml(self.opener.open(request))
Run Code Online (Sandbox Code Playgroud)
当XML文本包含非ASCII字符时,这会产生异常:
File "/usr/lib/python2.7/httplib.py", line 951, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 809, in _send_output
msg += message_body
exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 89: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
就像我所看到的那样,httplib._send_output正在为消息有效负载创建一个ASCII字符串,大概是因为它希望数据是URL编码的(application/x-www-form-urlencoded).只要使用ASCII字符,它就可以与application/xml一起使用.
是否有一种直接的方式来发布包含非ASCII字符的应用程序/ xml数据,或者我将不得不跳过箍(例如使用Twistd和POST有效负载的自定义生产者)?
我正在使用Node.js在JavaScript中实现客户端应用程序.因为我将在许多机器上部署该软件,所以我想尽量减少我分发的软件包的大小.特别是,我想从node_modules中删除任何不必要的文件.
对于初学者来说,这意味着对依赖树进行重复数据删除和修剪,这npm
可以为我做.但我还想删除所有package.json
文件和(特别是)部署不需要的任何其他文件.在我使用的许多软件包中,有大量的测试,多个版本的文件(缩小,浏览器化等)等.我只需要正在运行的应用程序实际使用的JavaScript文件.否则我将分发一些实际上没有使用的100Kb文件.
我知道node-browserify
但我的应用程序将在CommonJS环境中运行,而不是浏览器,所以我想将模块分开并加载它们require
.
我正在考虑编写一个使用依赖树的Grunt插件required
,将运行时所需的JavaScript文件拉出来并将它们写入树结构,以便可以使用它们加载require
(只需直接加载模块而无需使用package.json
).但在我解决之前,我想确保没有人为我做过这件事.
gruntjs ×3
npm ×3
ios ×2
javascript ×2
node.js ×2
scroll ×2
aws-lambda ×1
browserify ×1
django ×1
httplib ×1
jenkins ×1
jquery ×1
python ×1
react-native ×1
reactjs ×1
taskjs ×1
touchmove ×1
uiwebview ×1
urllib2 ×1
yield ×1