问题标签 [readystate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
585 浏览

javascript - 使用 jQuery.ajax 的 HEADERS_RECEIVED 的 readyState 事件

使用本机XMLHttpRequest对象,可以为事件添加事件侦听器onreadystatechange,并在readyStateis2HEADERS_RECEIVED. 这很有用,因为这可以在完成长传输之前读取 HTTP 响应标头。

然而,在 jQuery 的 AJAX 包装器中,似乎没有任何方法可以做到这一点。jQuery.ajax API 文档实际上说了以下内容。

但是,没有提供任何onreadystatechange机制,因为donefailalwaysstatusCode涵盖了所有可能的要求。

除非我弄错了,否则所有列出的回调都会在收到整个请求后触发,这可能是在标头可用并且readyState2.

有没有办法在不轮询属性的情况下向onreadystatechange和/或readyState 2使用 jQuery 的 AJAX 包装器添加回调?readyState

我想可以使用 来轮询readyStateAJAX 对象的属性setInterval,但出于显而易见的原因,我认为这不是一个真正的解决方案。我也不认为修改 jQuery 的核心是一个真正的解决方案。

更新:

另一个 SO 用户将我引向了这个问题。不幸的是,这些答案似乎都不起作用。修改 jQuery 并不是真正的解决方案。使用 jQuery 创建 XHR 对象有点违背了目的。最后一个答案根本不起作用。事实上,整个问题看起来都是针对过时的 jQuery 的。

0 投票
1 回答
1150 浏览

vb.net - VB表格填写

我可能错过了一个非常基本的东西,但我只是不明白为什么这不起作用。

我希望根据一些用户输入填写一些网络表单。

我已经在 vbscript 中写了这个,它可以完美地工作。现在我想将它导入到 VB。

我的 2 个主要问题 atm。

之前,我会有一段代码:

用于决定使用哪个 Internet Explorer 窗口。但是,如果我在 VB 中使用这种形式,我几乎会错过任何类型的事件处理。我不能使用 IsBusy,我不能使用 DocumentCompleted 或任何东西。

因此,我必须将 IE 声明为浏览器。

看起来不错..除了..现在我无法在任何地方导航,没有创建浏览器,没有任何事情发生。所以当我运行我的代码时:

它只是在元素“用户名”处失败,因为它永远无法导航到网站。

它就像它只是忽略了 IE.Navigate。我尝试使用 process.start() 运行一个新进程,但这也不起作用,它仍然没有为我打开网页或任何东西。

其次,当文档完全加载时,我在检查 vb 时遇到了重大问题。在 VBS 中我使用

这就像一个魅力。

在 VB 中,无法识别 ie.document.readystate,而且我似乎无法让 DocumentCompleted 事件处理工作。我从这个网站尝试了几件事,但要么他们只是让一切都挂起,要么由于各种原因它不起作用。我尝试了如何等待 WebBrowser 在 VB.NET 中完全加载中的 2 个解决方案?但他们都只是让脚本挂起。

任何提示将非常感谢..

0 投票
1 回答
1289 浏览

vba - IE Readystate 在 VBA 网页抓取期间停留在 1

当尝试访问一个 URL 时,我的代码卡在我的就绪状态循环中并且永远不会加载。就绪状态永久保持为 1。如果我暂停代码并点击调试,光标会以奇怪的顺序跳过我的过程,有时到结尾然后到开头,有时又回到子程序的开头。

我读到这可能是 javascript 的问题,但我似乎找不到任何解决方案。

有没有办法让它工作?

0 投票
0 回答
233 浏览

javascript - createElement:如何制作这个跨浏览器 - 适用于 IE10

我有以下 javascript,它是在页面空闲时触发和创建的加载程序。它基本上在下一个导航页面加载时显示。该脚本驻留在 (ASP.NET) 母版页和 Ajaxified 用户控件上。

我需要使代码跨浏览器,但不确定违规者是什么。

它只能在 Trident 中正常工作(仅测试 IE9 和 10)——而不是在 Webkit 或 Gecko 中。

我不确定这是否是符号问题,或者 Chrome 和 Safari 的页面生命周期是否从未将自己声明为“!=完成”,因此不会触发条件。

我也更愿意将其保留为纯 JavaScript 解决方案 - 没有 jQuery。

谢谢

0 投票
1 回答
1238 浏览

javascript - 通过 PHP 的标头下载文件后,将 document.readyState 的状态更改为“完成”('Content-Disposition: attachment...'

我的问题是:通过 PHP 的header('Content-Disposition: attachment... 技术下载文件后,发起下载的网页的document.readyState值为interactive.

我希望这是complete相反的,因为下载已完成。

我错过了什么,还是这是预期的行为?

如果是后者,那么有什么办法可以将document.readyState背面重置为complete

(这是使用 Internet Explorer,如果它有所作为......)


背景:

我有一些 JavaScript 函数,我只想在页面完成加载时才激活,所以我使用

在他们开始实现这一目标时。这适用于页面加载,在逐步加载时document.readyState也是如此interactive,并且complete仅在页面加载完成后。

在页面的后面,我提供了一个链接,该链接将用户发送到以下 PHP 代码,以允许下载加载的数据:

现在,按下此链接会导致document.readyState成为 firstloading和 then interactive,但状态停留在那里,永远不会移动到complete,从而禁用早期的 JavaScript 函数......


我不知道为什么会这样,并且会感谢任何方向的帮助。

0 投票
1 回答
527 浏览

jquery - jQuery Ajax readystate 0 status 0 in Windows 8 (8.1) on Chrome ONLY

I have this bit of jQuery doing an ajax call. The script was having issues in IE and Chrome on Win 8.1 only, however, i changed a few things (including ommitting a closing php tag that might have been causing issues) and now IE works and on my Win 8.1 on Chrome it works, but the client is still reporting issues.

Can anyone see a problem with my script that would cause this to fail on Win 8.1 on Chrome ONLY? (BTW, Safari and Opera were probably not tested by client so may also be failing on those).

I have literally read for hours and hours on SO and other question/answer sites, as well as many different related forums etc. I have tried many of the different suggestions with no luck.

Obviously, the first thing people think is Cross Domain issue, which the site is hosted on an "add-on" domain, but I'm calling the script at the same URL. Should I be calling it using the main domain URL instead? (I can't figure out what that main domain is at the moment, see this question: Find original main domain name based on add-on domain name)

Client is getting alerts from the ajax error block:

Any help is much appreciated, I've been stuck on this for weeks now.

Here is my jQuery:

The AJAX PHP script in case that helps...

0 投票
1 回答
138 浏览

javascript - Firefox Addon why readystate for tab gives undefined

I tried to make wait when open 4 websites until loading complete then get their title. For that I used readystate which didn't wait until load completes and gave Connecting as title. When I check in console the readystate gives undefined. Below is my code.

The sdk I am using is 1.17 and ff is 36.0.4.

0 投票
2 回答
358 浏览

php - readyState 始终为 1 且状态未定义

谁能告诉我为什么我将 readyState 设置为 1 并将 status 设置为 undefined

谢谢

0 投票
4 回答
187 浏览

javascript - How to execute alert of the audio duration when data is available?

None of those tricks works for me...

I want to execute alert of the audio duration when this data is available (when audio.readyState===4). Well... unless there is another magic to fetch this data as fast as possible (without using settimeout or setInterval)

0 投票
1 回答
1836 浏览

gecko - 在 GeckoFX 中检查 ReadyState

我将 WebBrowser 控件用于我的 C# 项目。我尝试集成 GeckoFX 而不是 WebBrowser。因为我总是在 WebBrowser 中更改输入,所以我必须等到网站完全加载。这就是为什么,我使用以下方法:

我已经为 GeckoFX 更改了这个方法,如下所示:private void navigateBrowser(string URL)

我打电话给 navigateBrowser(" http://facebook.com ") 然后填写表格进行登录。提交表单后,我必须登录另一个网站(在linkedin.com)我再次调用navigateBrowser(“ http://linkedin.com ”),当尝试从geckowebbrowser调用某些元素时,我得到错误“你调用的对象是空的。”。我检查了 geckowebbrowser 的实际 URL,它仍然是 facebook.com,但我应该是linkedin.com,因为我调用了linkedin.com。

可能是什么问题?我该如何解决这个问题?