草庐IT

Python中21道个程序小练习

全部标签

事件处理程序中的 JavaScript 同步和关键部分

我有一个函数,它是websocket.onmessage的事件处理程序,现在由于服务器可以发送多条消息(一条接一条)并且每条消息都会触发该事件,并且由于函数block可能需要几秒钟(内部进行了大量渲染),可能会在第一个函数调用仍在运行时再次调用该函数。在某些情况下,我需要在此函数中使用关键block,以便第二次调用只会在第一次调用结束时启动关键部分,这被认为是在JavaScript中实现锁的“最佳实践”? 最佳答案 由于js是单线程的,所以不能真正做锁。好吧,你可以但你不应该。一个想法可能是保留状态变量。您的函数将在每个onmess

javascript - 在 jquery 移动应用程序中本地安全地存储用户密码

我需要访问一个api,它需要使用jquery移动api对每个用户进行http身份验证。我计划将该应用作为网站提供,并将其打包在Cordova中以用于各种设备。如果我有一个捕获用户名和密码的登录表单并将其存储为javascript变量,是否有任何方式可以公开这些数据?如果是这样,处理存储用户身份验证详细信息的最佳替代方法是什么?如果没有必要,我不愿构建中间服务器。非常感谢。:D 最佳答案 我建议不要将用户名或密码存储在localStorage中,而是存储访问token。访问token可以经常更新和更改,它也不会透露用户是谁或他们的哈希

JavaScript click() 方法仅在 Chrome 扩展程序中有效一次

我正在尝试在Chrome扩展程序中下载多个文件。以下代码创建一个指向文件的虚拟链接,然后触发下载文件的.click()事件。问题是只有第一个.click()事件触发下载。随后的.click()事件将被忽略。这里是ma​​nifest.json:{"name":"SimpleFileDownloader","version":"0.1","permissions":["contextMenus","http://*/"],"background":{"persistent":false,"scripts":["sample.js"]},"content_security_policy":

javascript - 使用 requirejs 编译 javascript 程序以删除 require 依赖

我已经使用requirejs编写了一个JavaScript应用程序来处理依赖项注入(inject)。我已经编译了该文件,但是在将其作为脚本包含时出现了明显的错误:UncaughtReferenceError:defineisnotdefined如果开发人员决定不使用AMD加载程序,我希望我的JavaScript应用程序不依赖于AMD加载程序。但是,由于应用程序的复杂性,我想用它来处理我的应用程序的依赖项。是否有可用的编译器来编译JavaScript以删除AMD依赖项?我看到了一些关于Grunt的讨论,但没有找到关于这是否是Grunt的一个特性的任何直接答案。

javascript - Webrtc 应用程序无法在本地主机上运行?

我正在使用WebRTC演示应用程序进行屏幕共享。该演示工作得很好,但是当我尝试在本地主机或我自己的远程服务器上运行相同的代码时,代码无法运行。关于如何解决此问题的任何想法? 最佳答案 Chrome中的屏幕共享仅适用于SSL连接()。您可以使用自签名证书并在您的浏览器中简单地接受它(这适用于Chrome此外,对于Chrome>M36,您现在必须使用Chrome.desktopcaptureAPI在Chrome内部修改媒体限制和启用屏幕共享的常用方法在较新版本的Chrome中不起作用。API非常简单,而且比媒体约束中的先前给定选项更强大

javascript - React Web 应用程序的默认 css 显示值是多少?

我正在通过react.js的upwork测试,我遇到了这个问题,我真的不知道,而且google/react文档对我没有帮助。谁能知道?这对我来说很有趣) 最佳答案 React应用程序不是元素。它没有任何CSS属性的默认值。 关于javascript-ReactWeb应用程序的默认css显示值是多少?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/44628928/

javascript - 将事件处理程序添加到类中的每个元素

我正在尝试向所有具有section类的元素添加事件监听器,但它仅将其应用于节点列表中的最后一个对象。varsection=document.querySelectorAll('.section');for(vari=0;i有没有办法为每个事件添加事件监听器? 最佳答案 问题在于JavaScript中没有block作用域。所以elem每次迭代都会被覆盖,而不是每次都被声明为一个新变量。在每次迭代中声明新变量的唯一方法是通过函数:for(vari=0;i但是addEventListener将this设置为元素,因此在您的情况下您可以巧妙

javascript - 尝试在 chrome 扩展程序(JavaScript)中从 default_script 到 content_script 的通信不起作用

好吧,我正在通过扩展程序更改网站的配色方案,这是我第一次使用content_scripts所以是的,我是一个完全的新手,请随意对待我。问题是tabs.connect它不工作,我需要选项卡ID还是什么?这是我到目前为止所拥有的:list.json:{"manifest_version":2,"name":"ROBLOXColorScheme","description":"Editthecolorschemeoftherobloxbar!Note:Notcreatedbyroblox.","version":"1.0","permissions":["","tabs"],"browser

javascript - 为什么 :Math. floor(2e+21) != ~~(2e+21)

我不是按位运算符的专家,但我经常在比赛中看到程序员使用256k演示的模式。不是使用Math.floor()函数,而是使用双按位NOT运算符~~(可能更快?)。像这样:Math.floor(2.1);//2~~2.1//2搜索发现还有更多使用相同方式的模式:2.1|0//22.1>>0//2在开发控制台中玩这个时,我注意到一个我不确定我是否完全理解的行为。Math.floor(2e+21);//2e+21~~2e+21;//-11198791682e+21|0;//-1119879168引擎盖下发生了什么? 最佳答案 正如FelixK

javascript - 如何跨 Chrome 实例同步 localStorage(或使用 chrome.storage.sync 而不使用已发布的扩展程序)?

这是我的情况:我写了一些Chrome用户脚本供我个人使用。以前,我只有一台机器,上面有一个Chrome实例,所以我非常乐意将任何持久数据转储到localStorage中。但是,我现在有多台机器,并且想在所有机器上的Chrome上使用我的用户脚本,同时使用我的持久数据。同步userscript代码本身很简单,但有点乏味(将它放在Bitbucket存储库中,然后拉取并手动安装),但我不知道如何跨机器同步我的localStorage数据。我考虑过将我的用户脚本转换为适当的Chrome扩展程序并使用chrome.storageAPI(使用chrome.storage.sync存储的数据显然可以