本篇文章给大家谈谈为什么Ctrl+S不能在javascript中使用shortcut.js,以及为什么ctrl不能用了的知识点,同时本文还将给你拓展javascript–AJAX发布请求使用qwest
本篇文章给大家谈谈为什么 Ctrl+S 不能在 javascript 中使用shortcut.js,以及为什么ctrl 不能用了的知识点,同时本文还将给你拓展javascript – AJAX发布请求使用qwest.js goo.gl url shortener api、javascript – 为Protractor设置Screenshot Reporter、javascript – 为什么在延迟中使用setTimeout、javascript – 为什么我不能在jQuery的document.ready()中定义函数?等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- 为什么 Ctrl+S 不能在 javascript 中使用shortcut.js(为什么ctrl 不能用了)
- javascript – AJAX发布请求使用qwest.js goo.gl url shortener api
- javascript – 为Protractor设置Screenshot Reporter
- javascript – 为什么在延迟中使用setTimeout
- javascript – 为什么我不能在jQuery的document.ready()中定义函数?
为什么 Ctrl+S 不能在 javascript 中使用shortcut.js(为什么ctrl 不能用了)
如何解决为什么 Ctrl+S 不能在 javascript 中使用shortcut.js?
我正在使用 shortcut.js。一切正常,但添加一些快捷方式(如 Ctrl+S)不会被库捕获并弹出浏览器 html 保存面板。
工作:
shortcut.add("F3",function() {
alert("انتخاب کالا");
});
不工作:
shortcut.add("Ctrl+S",function() {
alert("ذخیره");
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
javascript – AJAX发布请求使用qwest.js goo.gl url shortener api
我正在尝试使用goo.gl URL Shortener API缩短URL,这是一个开源库(qwest.js).我已经使用jquery成功实现了它,但它给了我错误“这个API不支持解析表单编码的输入.”当使用qwest完成时.
我的代码用jquery:
var longURL = "http://www.google.com/";
$.ajax({
url: 'https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyANFw1rVq_vnIzT4vVOwIw3fF1qHXV7Mjw',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: '{ longUrl:"'+ longURL+'"}',
success: function(response) {
console.log(response)
}
})
.done(function(res) {
console.log("success");
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
和qwest.js的非工作代码
var longURL = "http://www.google.com/"
qwest.post('https://www.googleapis.com/urlshortener/v1/url?key=479dfb502221d2b4c4a0433c600e16ba5dc0df4e&',
{longUrl: longURL},
{responseType:'application/json; charset=utf-8'})
.then(function(response) {
// Make some useful actions
})
.catch(function(e, url) {
// Process the error
});
强烈建议任何帮助.
解决方法:
qwest的作者在这里;)
如文档中所述:默认的Content-Type标头是针对post和xhr2数据类型的application / x-www-form-urlencoded,带有POST请求.
但Google Shortener服务不接受它.我假设它想要一个JSON输入类型.然后你应该将qwest的dataType选项设置为json.此外,您的responseType选项无效,并且不遵循文档.通常情况下,如果Google使用有效的Content-Type标头回复请求,则无需进行设置.这是好的代码:
qwest.post( ‘https://www.googleapis.com/urlshortener/v1/url?key=479dfb502221d2b4c4a0433c600e16ba5dc0df4e\u0026amp;’,
{longUrl:longURL},
{数据类型: ‘JSON’})
在Google未发送已识别的Content-Type的情况下,只需将responseType选项设置为json即可.
javascript – 为Protractor设置Screenshot Reporter
根据guide,每次我创建一个新的截图报告实例时,我都要传递一个目录路径.是的,这意味着我每次在spec文件中创建一个新实例?
此外,还有一些功能可以截取我跳过的和失败的测试的屏幕截图.我应该使用takeScreenShotsForSkippedSpecs和takeScreenShotsOnlyForFailedSpecs?在我的配置文件中?
这是我的准备:
onPrepare: function () { browser.driver.manage().window().maximize(); global.dvr = browser.driver; global.isAngularsite = function (flag) { browser.ignoreSynchronization = !flag; } jasmine.getEnv().addReporter(new ScreenShotReporter({ baseDirectory: '/tmp/screenshots',takeScreenShotsForSkippedSpecs: true,takeScreenShotsOnlyForFailedSpecs: true }));
解决方法
protractor-jasmine2-screenshot-reporter
.
对于jasmine1:
我一直在使用protractor-html-screenshot-reporter
package成功使用.它基于protractor-screenshot-reporter,但也提供了一个很好的HTML报告.
这是我在量角器配置中的内容:
var HtmlReporter = require("protractor-html-screenshot-reporter"); exports.config = { ... onPrepare: function () { // screenshot reporter jasmine.getEnv().addReporter(new HtmlReporter({ baseDirectory: "test-results/screenshots" })); },... }
运行测试后,您将获得一个包含(示例)的HTML文件:
您可以单击“查看”以在浏览器中查看特定于测试用例的屏幕截图.
javascript – 为什么在延迟中使用setTimeout
this.callbacks;// array of functions reference this.callbacks.forEach(function(callback){ window.setTimeout(function(){ callback(data); },0); });
this questions中使用setTimeout的一个示例
resolve: function (data) { this.promise.okCallbacks.forEach(function(callback) { window.setTimeout(function () { callback(data) },0); }); },
通过setTimeout调用循环函数与callback()之间的区别是什么?或callback.call();
解决方法
Javascript是单线程的.如果触发了某个事件,则只能在当前运行的代码完成时运行.
使用零时间延迟的setTimeout有效地告诉JS解释器回调函数调用是新上下文的一部分,并且当前代码块已完成.这意味着JS将在调用callback()之前抓住机会检查是否需要处理任何其他事件.
虽然这可能会延迟callback()本身被立即调用,但这对您网站的整体性能有好处:
可能需要处理的其他事件包括单击事件和其他UI触发器.如果您没有给他们执行的机会,可能会使您的用户界面显得迟缓或无响应.
javascript – 为什么我不能在jQuery的document.ready()中定义函数?
如果我将它们放在document.ready()函数中,函数将显示为undefined:
$(document).ready(function(){
function foo()
{
alert('Bar');
}
});
foo(); // Undefined
为什么会这样?我确定我只是需要一些简单的理解:)
解决方法:
不确定为什么在ready()范围内定义函数对你很重要,但你可以通过预先声明foo来使它工作:
<html><head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script>
var foo; // Here's the difference
$(document).ready(function(){
foo = function ()
{
alert('Bar');
}
});
</script></head><body>
<input type="button" onclick="foo()" value="Click me">
</body></html>
显然你不能在ready()之后立即从内联脚本调用foo()因为ready()代码还没有运行,但你可以稍后调用该函数.
只需确保在ready()代码运行之前没有任何东西可以尝试调用foo()(或者使foo()的初始声明成为无害函数).
关于为什么 Ctrl+S 不能在 javascript 中使用shortcut.js和为什么ctrl 不能用了的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于javascript – AJAX发布请求使用qwest.js goo.gl url shortener api、javascript – 为Protractor设置Screenshot Reporter、javascript – 为什么在延迟中使用setTimeout、javascript – 为什么我不能在jQuery的document.ready()中定义函数?等相关内容,可以在本站寻找。
本文标签: