环境:Firefox 16/27和Chrome 33
我有一个<div>(带滚动条)包含许多元素<p>.
如果我调用scrollIntoView()一个<p>元素,我希望只有div移动的滚动,但整个页面(在...之外<div>)会滚动.
关于JSFiddle的例子:http://jsfiddle.net/7fH8K/7/
这里出了什么问题?
我想在我的应用程序中实现一个用于发送电子邮件阅读回执的确认对话框。该应用程序使用 IMAP 与邮件服务器进行通信,该服务器目前仅限于 Microsoft Exchange Server 2010。
当\Seen标志发送时,收据显然是由服务器自动发送的。所以 IMAP 命令看起来像这样:
c1 LOGIN username password
c2 SELECT mailbox
c3 UID STORE 123 flags \Seen
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,这与在另一个 stackoverflow question 中找到的解决方案形成对比,后者表示设置\Seen标志不会导致 Exchange Server 发送收据。)
虽然如何处理的情况下当用户不希望发送已读回执?
我最初的想法只是不设置\Seen标志。尽管这会导致服务器自动向发件人发送通知,说明电子邮件已被删除而不会被读取,以防邮件从服务器中删除。
在清除之前\Deleted和\Seen之前标记消息也无济于事:
c1 UID STORE 123 flags (\Deleted \Seen)
c1 UID EXPUNGE 123
Run Code Online (Sandbox Code Playgroud)
那么如何在用户不想发送的情况下显式地抑制已读回执消息呢?
我需要检查文件是否具有有效的MIME类型,如果文件大小正常并且其尺寸正常,则上传文件.
所以当一切正常时,我可以使用:
complete: function(file){
// do something here.
}
Run Code Online (Sandbox Code Playgroud)
但是如果文件的大小无效呢?在我的PHP脚本中,我返回一条错误消息:
return json_encode(['error' => 'size is invalid']);
Run Code Online (Sandbox Code Playgroud)
要么
return Response::json(['error' => 'size is invalid'], 500 ];
// this is Laravel 4 syntax. returns a json array and 500 as status code.
Run Code Online (Sandbox Code Playgroud)
但我怎么能error在DropzoneJS中处理它呢?
我尝试在complete()函数中添加第二个参数,但它不起作用.
complete: function(file, response){
console.log( response ); // this does not work.
}
Run Code Online (Sandbox Code Playgroud) 我添加并删除了断点,但Firebug仍然在后续页面刷新时停在那些旧断点处.
我已经尝试修复旧版本的同样问题(即重置所有Firebug选项并删除breakpoints.json),但它们无法正常工作.
任何想法如何解决这个问题,而不必等待释放修复它?
在 Chrome 开发者工具中,Sources/Network 选项卡表示一个站点加载了 100 多个外部脚本。
我试图减少这种情况,但是很难追踪每个人的加载位置和方式。只有少数来自<script>主 src 中的传统标签。其他可能会动态插入,在 iframe 等中。
是否有任何方法或工具可以让我轻松跟踪每个脚本的加载位置?
是否有任何工具(最好是任何浏览器的扩展/附加组件)可以让您实时查看所需 JS 变量的所有值变化?
以前我做了这样的事情(用纯JS):
var someVariable;
var previousValueOfSomeVariable;
var f = function() {
if (previousValueOfSomeVariable != someVariable) {
console.log(Date.now(), someVariable);
previousValueOfSomeVariable = someVariable;
}
}
var TO = setInterval(f, 100);
Run Code Online (Sandbox Code Playgroud)
它做到了这一点,但当然效率低下(实际上该函数更大,而如果变量是一个对象,则需要对象复制函数并进一步检查)...
更新
我知道控制台工具,但我想查看更改的历史记录,例如:
someVariable
0 毫秒:undefined;
10 毫秒:5;
40 毫秒:'someothervalue';
150毫秒:null
ETC。
(给出的毫秒数仅供示例之用,不一定是必需的)。也许可以在 DevTools 控制台中完成,但我不知道如何做。
我需要在Firefox中调用Selenium WebDriver的JavaScript函数.我在Firebug的Command Editor中使用此命令在登录我的网站后调用文件上传应用程序:
infoPanel.applicationManager.changeApp('FileUploader', {action: 'new'})
Run Code Online (Sandbox Code Playgroud)
有没有办法从Selenium执行此操作?
我正在使用JavaScript启动到外部浏览器窗口window.open().从我的应用程序初始启动时,窗口在Internet Explorer 11中打开正常,但是,当我关闭窗口并尝试再次打开它时,我收到以下错误:
如果我等待~10秒并在关闭窗口后再次尝试,则不会出现错误.
有没有人在此之前看到此错误并知道可能导致它的原因?有可能的解决方案吗?我试过禁用弹出窗口阻止程序,但无济于事.
在 Chrome 开发者工具的 JavaScript 控制台以及 Firebug 中,我们可以通过$_.
有没有办法访问第二个/第三个/...最后一个结果?我对 Chrome DevTools 和 Firebug 的答案感兴趣。
我的Chrome浏览器刚刚从版本28切换到版本29.一旦切换,我的css3代码在新版本中停止工作,我想知道是否有人知道如何解决问题,而不必将浏览器设置回版本28?
更新Chrome 30从Chrome 29过渡到Chrome 30也杀死了CSS变量.在启用实验性WebKit功能标志不再是一个选项.
我一直在使用实验性WebKit功能,特别是CSS变量.我特别希望再次使用以下功能:
:root {
-webkit-var-Darkest: #3d0305;
-webkit-var-Lightest: #EDD08C;
-webkit-var-Light: #a98b46;
-webkit-var-Cool: #38fcce;
-webkit-var-Dark: #79161d;
color: -webkit-var(Darkest);
border-color: -webkit-var(Darkest);
background-color: -webkit-var(Light);
}
Run Code Online (Sandbox Code Playgroud)
以前我只能使用CSS变量来启用标志(见下图)

javascript ×7
firebug ×3
debugging ×2
firefox ×2
breakpoints ×1
css ×1
css3 ×1
dropzone.js ×1
flags ×1
html ×1
imap ×1
scroll ×1
selenium ×1
window.open ×1