如何在每次加载Ajax时都运行一些JS代码
How can I run some JS code every time some Ajax loads?
我正在开发一个Chrome插件,它运行一段简单的JS代码,可以调整页面上的div大小。加载页面时工作正常。不过,该网站使用了一些ajax。当ajax加载时,div的大小调整被撤消。如何在每次加载此ajax请求时重新执行脚本?
ajax每次总是简单地从一个地方加载:www.website.com/Default.aspx
这可能真的很简单,但我是一个完全的新手:)谢谢!
关于查看代码的请求,请记住,除了对基本原理的理解之外,我没有真正的编程经验。这个插件已经从谷歌搜索中被删除了。也许我咬得太多了,但现在是这样:
这是要执行的代码:
document.getElementById('ctl00_Body_cntrl_rgMyIssues_GridData').style.height = '500px';
这是manifest.json中处理运行js:的部分
{
"manifest_version": 2,
"content_scripts": [
{
"matches": ["https://www.website.com/*"],
"js": ["resize_queue.js"]
}
],
如果您只是想在ajax请求返回后编写一段javascript代码,那么基本上可以使用两种方法之一。
1) 执行同步请求而不是异步请求。
这是一个简单的例子:xmlhttp.open("GET","cd_catalog.xml",false); //Note the false
然后,您只需将想要运行的任何代码放在这之后,javascript就会等待,直到ajax请求完成。
2) 将要运行的代码放在ajax的readystate部分。
以下内容摘自w3schools(并不像大家说的那么可怕):
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
//Do other code here
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
相关文章:
- AJAX调用运行C代码的最佳实践
- 在经过一段时间或满足条件后运行代码
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- 如果调试器关闭,Internet Explorer将出现运行代码问题
- JQuery 帖子未在 PHP 文件中运行代码
- 当ajax请求发生时运行代码的Chrome扩展
- 当我运行代码时,我得到以下结果 []对象对象] [对象对象],但应该给我一个有序数组
- 仅当客户端连接到Meteor服务器时才运行代码
- 在.each()循环中的ajax完成后,Jquery运行代码
- node.js和Cygein,我该如何运行代码
- 未访问全局变量,未运行代码
- Meteor - 在客户端上的异步回调的 for 循环后运行代码
- 运行代码以在Android应用程序中单击javascript按钮?尝试在页面上抓取回复按钮联系信息 craigslist
- 函数结束时如何运行代码
- JS 在不满足条件时在 if 语句中运行代码段
- 在 Ember 视图参数更改上运行代码
- 如何在 YUI 模块中运行代码
- 如何在未在 iframe 中定义的 iFrame 中运行代码
- 在后台运行代码,同时显示警报
- 加载页面时运行代码