首页
学习
活动
专区
圈层
工具
发布

如何检查jQuery加载的PHP文件是否改变,如果改变则执行函数?

要检查jQuery加载的PHP文件是否改变,并在改变时执行函数,可以使用以下步骤:

  1. 首先,使用jQuery的$.ajax()函数或$.get()函数来加载PHP文件。这些函数可以异步加载PHP文件,并在加载完成后执行回调函数。
  2. 在加载PHP文件之前,记录PHP文件的内容的哈希值。可以使用MD5或SHA1等哈希算法来计算文件内容的哈希值。
  3. 在回调函数中,再次计算PHP文件的内容的哈希值。
  4. 将新计算的哈希值与之前记录的哈希值进行比较。如果两个哈希值不相等,则说明PHP文件已经改变。
  5. 如果PHP文件改变,则执行相应的函数或逻辑。

以下是一个示例代码:

代码语言:txt
复制
// 记录PHP文件的哈希值
var previousHash = '';

// 加载PHP文件并检查是否改变
function loadAndCheckPHPFile() {
  $.get('path/to/file.php', function(data) {
    // 计算新的哈希值
    var currentHash = calculateHash(data);

    // 比较新旧哈希值
    if (currentHash !== previousHash) {
      // PHP文件已改变,执行相应的函数或逻辑
      executeFunction();
    }

    // 更新哈希值
    previousHash = currentHash;
  });
}

// 计算文件内容的哈希值
function calculateHash(content) {
  // 使用MD5算法计算哈希值
  // 这里使用了第三方库CryptoJS,可以在https://cryptojs.gitbook.io/docs/获取
  var hash = CryptoJS.MD5(content).toString();
  return hash;
}

// 执行相应的函数或逻辑
function executeFunction() {
  // 在这里执行需要执行的函数或逻辑
}

// 定时检查PHP文件是否改变
setInterval(loadAndCheckPHPFile, 5000); // 每5秒检查一次

这段代码会每隔5秒钟加载PHP文件并检查是否改变。如果PHP文件改变,则执行executeFunction()函数。你可以根据实际需求调整定时检查的频率。

请注意,这只是一个简单的示例,实际应用中可能需要根据具体情况进行适当的修改和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JQuery 入门学习(三)

这一节涉及到浏览器与服务器的交互,我用到的是php,如果各位看官不会php脚本也没有关系,涉及到的php代码最多10行,重点还是在Jquery上。...一般都会有一个“检查是否已被占用”链接,用户点击链接后,浏览器打开一个新页面,向服务器发送一个请求,在数据库里咨询看用户名是否已存在,得到结果后返回到页面里提示用户。...'); 也就是请求这个文本文件内容,并将id=test的元素内容改变成请求到的文本。    ...ajax使用get请求向服务器请求html内容     又回到我们开始的那个例子,判断用户名是否存在。     比如我们服务器上有这样一个文件nameexists.php: 函数,当点击按钮时执行此函数。首先选择器选择了id=name的文本框,用val()方法获取其值,并赋值给name变量。     看后面,用到了get方法。

9.3K20

最新Tampermonkey 中文文档解析(附基础案例和高级案例)

允许多个标签 @require 指向一个脚本文件,会在本脚本运行前加载并执行 注意:通过@require加载的脚本及其“use strict”语句可能会影响用户脚本的strict模式!...如果无法声明用户脚本可能连接到的所有域,则最好执行以下操作: 声明所有已知或至少所有可能由脚本连接的公共域。...password 授权的用户密码 onabort 请求中断时执行的回调函数 onerror 请求以错误结束时需要执行的回调函数 onloadstart 请求开始加载时执行的回调函数 onprogress...请求状态变化时执行的回调函数 onreadystatechange 请求的准备状态改变是执行的回调函数 ontimeout 超时后执行的回调函数 onload 当请求被返回时执行的回调函数 ,...现在完成后执行的回调函数 onprogress 下载过程中变化的回调函数 ontimeout 下载超时执行的回调函数 现在文件中 onerror 的参数如下: error - 错误原因

6.1K11
  • jQuery 教程

    如果在文档没有完全加载之前就运行函数,操作可能失败。...独立文件中使用 jQuery 函数 如果您的网站包含许多页面,并且您希望您的 jQuery 函数易于维护,那么请把您的 jQuery 函数放到独立的 .js 文件中。...() 移除下一个排队函数,然后执行函数 fadeIn() 逐渐改变被选元素的不透明度,从隐藏到可见 fadeOut() 逐渐改变被选元素的不透明度,从可见到隐藏 fadeTo() 把被选元素逐渐改变至给定的不透明度...如果 load() 方法已成功,则显示”外部内容加载成功!”,而如果失败,则显示错误消息: 的索引值(如果没有找到,则返回-1) $.isArray() 判断指定参数是否是一个数组 $.isEmptyObject() 检查对象是否为空(不包含任何属性

    19.1K20

    WordPress 通过模板文件和自带的函数引入 cssjs 的两种方法

    其实网上的N种方法总结起来就两种: 一、模板文件 header.php 中直接引入文件 二、在主题的 functions.php 中通过 WP 自带的函数 wp_enqueue_scripts 来加载...> 但是 WordPress 不能确定是否在在页面加载了 JS,Css 文件,如果另一个插件使用相同的 JS,Css 文件,就无法检查 JS,Css 文件是否已经被包含在页面中。...在 WordPress 中,注册样式是“可选的”。如果你的样式不会被其他插件使用,或者你不打算使用任何代码来再次加载它,你可以自由地排队样式而不需要注册它。继续看看它是如何实现的。...wp_print_scripts() 则直接在你使用此方法的位置输出需要的 JavaScript 文件,而不是加入到 WordPress 的处理任务中。 如果我们在页面的中间使用 告诉 WordPress 需要加载 jquery.js,WordPress 在 wp_footer() 中处理的时候也会先检查前面是不是已经有了,如果有了就不会再重新加载一次。

    2.3K30

    前端面试宝典 v1

    提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为等等 85、jquery 中如何将数组转化为json字符串,然后再转化回来?...this执行init构造函数自身,其实就是jQuery实例对象,返回this是为了实现jQuery的链式操作 1、jquery中如何将数组转化为json字符串,然后再转化回来?...表现出对前端的认同与兴趣,关注相关技术前沿 23. php中下面哪个函数可以打开一个文件,以对文件进行读和写操作?...和empty的区别,举例说明 1、empty函数 用途:检测变量是否为空 判断:如果 var 是非空或非零的值,则 empty() 返回 FALSE。...同时要注意的是一个NULL 字节("\0")并不等同于 PHP 的 NULL 常数。 26. php中$_SERVER变量中如何得到当前执行脚本路劲 27.

    2.8K41

    ajax 使用 与 缓存问题

    POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的)   防止 GET 的 等幂 访问 就在URL后面加上 ?...,还是返回乱码的话,检查你的方式是否为get,对于get请求(或凡涉及到url传递参数的),被传递的参数都要先经 encodeURIComponent方法处理.如果没有用encodeURIComponent...jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 "myurl?callback=?"...jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 "jsonp" 时,jQuery 将自动调用回调函数。...使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

    2.8K20

    jQuery基础(五)一Ajax应用与常用插件-imooc

    可选项data参数为请求时发送的数据,callback参数为数据请求成功后,执行的回调函数 例如,点击页面中的“加载”按钮,调用getJSON() 方法获取服务器中JSON格式文件中的数据,并遍历数据...在浏览器中显示的效果: 使用getScript()方法异步加载并执行js文件 使用getScript()方法异步请求并执行服务器中的JavaScript格式的文件,它的调用格式如下所示: jQuery.getScript...为服务器返回的数据类型,success为请求成功的执行的回调函数,type为发送数据请求的方式,默认为get 例如,点击页面中的“加载”按钮,调用ajax()方法向服务器请求加载一个txt文件,当请求成功时调用...) 其中参数key为保存cookie对象的名称,value为名称对应的cookie值 例如,当点击“设置”按钮时,如果“是否保存用户名”的复选框为选中状态时,则使用cookie对象保存用户名,否则,删除保存的...4-3检测对象是否为空 在jQuery中,可以调用名为.isEmptyObject的工具函数,检测一个对象的内容是否为空,如果为空,则该函数返回true,否则,返回false值,调用格式如下:.isEmptyObject

    17.8K20

    jQuery

    基本语法 $(selector).action() 文档就绪函数 所有 jQuery 函数位于一个 document ready 函数中,为了防止文档在完全加载(就绪)之前运行 jQuery 代码。...这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 方法 描述 open(method, url, async) 规定请求的类型、URL 以及是否异步处理请求。...// 必需的,URL,参数规定您希望加载的 URL // 可选的,data,参数规定与请求一同发送的查询字符串键/值对集合 // 可选的,callback(),参数是load()方法完成后所执行的函数名称...关于callback 如果存在多个 AJAX 任务,那么应该为创建 XMLHttpRequest 对象编写一个标准的函数,并为每个 AJAX 任务调用该函数。...AJAX & ASP/PHP/DB/XML 通过标签绑定事件,绑定函数在服务器响应就绪时调用函数,发送HTTP请求,访问asp/php文件,文件中对数据库进行查询。

    17.5K20

    Ajax工作原理及概述

    在这一阶段,你要告诉XMLHttp请求对象是由哪一个JavaScript函数处理响应,在设置了对象的 onreadystatechange属性后给他命名,当请求状态改变时调用函数。...首先,函数要检查请求的状态。如果状态的值是 XMLHttpRequest.DONE (对应的值是4),意味着服务器响应收到了并且是没问题的,然后就可以继续执行。...然后我们 alert() 响应的内容。注意这个例子我们只是用了JavaScript,没有用jQuery。而且,HTML,XML和PHP文件都要放在用一个目录下。...alertContents() 检查返回的响应是否OK,然后 alert() test.html 文件内容。...Note: 如果你向一个代码片段发送请求,将返回XML,而不是静态XML文件,在IE浏览器上则必须要设置响应头才能正常工作。

    1.1K20

    看不完的那种!前端170面试题+答案学习整理(良心制作)

    27.如何用原生JavaScript实现jquery的ready方法 $(document).ready()在dom绘制完毕后就执行,而不必等到页面加载完毕。...类 用addClass()和removeClass()方法动态地改变元素的class 58.使用cdn加载jquery库的主要优势是什么 可以节省服务器带宽 可以更快地下载jquery文件 如果浏览器已经从同一个...执行结束之前继承渲染HTML标签。 ? image async表示的意思是异步加载JavaScript文件。...使用async会在HTML解析期间下载文件,并在下载完成后暂停HTML的解析,执行下载的外部js文件,执行后继续解析HTML。 ?...image defer表示的意思是在HTML文档解析之后在执行加载完成的JavaScript文件。

    12.3K50

    php基础(一)

    一、PHP部分 1.函数内部 static 和 global 关键字的作用 static 是静态变量,在局部函数中存在且只初始化一次,使用过后再次使用会使用上次执行的结果; 作为计数,程序内部缓存,单例模式中都有用到...不可提升访问级别 3.PHP文件末尾是否应该加 ?...主要防止 include,require 引用文件,把文件末尾可能的回车和空格等字符引用进来,还有一些函数必须在没有任何输出之前调用,就会造成不是期望的结果。PHP文件的编码不包含BOM的UTF8....AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。...2.ajax 中如何执行跨域访问?同子域的情况如何处理?不同子域的情况如何处理? 跨域的存在是因为浏览器的同源策略,一个源表示协议,端口,域名都相同,否则就形成了跨域。

    2.6K20

    AJAX常见面试问题

    使用JSONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。 text:返回纯文本字符串。...(2) jQuery UI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为等等。...(3) jQuery本身注重于后台,没有漂亮的界面,而jQuery UI则补充了前者的不足,他提供了华丽的展示界面,使人更容易接受。既有强大的后台,又有华丽的前台。...压缩图片和使用图片Sprite技术 10.注意控制Cookie大小和污染 24.为什么异步加载JS文件?加载方式?...异步加载(async)JS文件,允许页面内容异步加载,仅适用于外部脚本。 延迟加载(defer)属性规定是否对脚本执行进行延迟,直到页面加载为止。 25.如果对一个js对象进行深度拷贝?

    2.4K20

    JQuery基础

    大多数CDN都可以确保用户请求文件时,会就近服务器进行响应,从而提高加载速率。 第二部分:jQuery语法: 1.jQuery语法是通过选取HTML元素,然后对选取的元素进行某些操作。...规定隐藏或显示的速度,取值可以为"slow","fast"或毫秒; 可选的callback是隐藏或显示后执行的函数名称。   ...默认false:仅停止当前活动动画,允许插入的动画向后执行;   可选的goToEnd:是否立即完成当前动画。默认false。   因而,默认的stop()会清除当前元素上的动画。...(包括内边距) outerWidth()/outerHeight():设置或获取宽度/高度(包括内边距和边框);如果设置参数为true,则包括内边距,边框,外边距 image.png 第七部分:jQuery...所以存在一个问题:如果其它js框架使用了$符号,或者书写的js代码中定义了$作为变量或者函数名,这时候就会产生冲突。

    5.9K51

    JQuery Ztree 树插件配置与应用小结

    (JSON) 要被拖拽的节点 JSON 数据集合 v3.x 允许多个同级节点同时被拖拽,因此将此参数修改为 Array(JSON) 如果拖拽时多个被选择的节点不是同级关系,则只能拖拽鼠标当前所在位置的节点...2、需要首先加载 jquery-1.4.2.js 或其他更高版本的 jQuery 。...3、需要加载 jquery-ztree.core-3.0.js,如果需要用到 编辑功能 或 checkbox / radio 还需要分别加载 jquery-ztree.exedit-3.0.js 和 jquery-ztree.excheck...4、需要加载 zTreeStyle.css 以及 zTreeStyle 目录下的 img 文件。 5、如果需要使用自定义图标请参考相应的Demo。...callbackFlag 为 true 表示执行此方法时触发 beforeCheck & onCheck 事件回调函数;为 false 表示执行此方法时不触发事件回调函数,省略此参数,等同于 false

    7.8K40

    前端架构师之01_JQuery

    方式2则通过公共的CDN的优势加快了jQuery文件的加载速度。 在HTML页面中创建含有文本“测试”和属性(align=“center”)的元素。...过滤方法: 语法 说明 eq(index) 获取第N个元素 filter(expr|obj|ele|fn) 使用选择器、对象、元素或函数完成指定元素的筛选 hasClass(class) 检查当前的元素是否含有某个特定的类...,如果有,则返回true is(expr) 用一个表达式来检查当前选择的元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true has(expr) 保留包含特定后代的元素,去掉那些不含有指定后代的元素...(class) 切换样式 判断指定类是否存在,存在则删除,不存在则添加 hasClass(class) 判断样式 判断元素是否具有class样式 addClass()和removeClass()方法经常一起使用来切换元素的样式...类比选项 window.onload $(document).ready() 执行时机 必须等待网页中的所有内容加载完成后(包括外部元素,如图片)才能执行 网页中的所有DOM结构绘制完成后就执行(可能关联内容并未加载完成

    1.7K00

    使WordPress达到最佳运行状态的13个技巧

    如果不删除,这些被关闭的插件就会影响网站的运行速度,因为WordPress需要检查他们是否处于开启状态。 同样你也要记住为现在用的插件及时升级到最新版本。...加载页面时,如果浏览器还要执行PHP查询,就会延长加载时间。 可以用静态HTML代替PHP查询,这样每次加载页面时,浏览器就只需要读取HTML代码。 4....8.PHP Speedy WP PHP Speedy WP能够用简单快捷的方法加速你的WordPress网站运行并提高网站的反应时间,而你只需要允许它将所有JS和CSS文件单独整理成两个文件——这会大幅度减少页面加载时间...11.通过AJAX库API加速构建你的构架 AJAX 库 API致力于为开发人员加速网络应用程序,它是一种内容分布网络,可加载最受欢迎的JavaScript库,包括: jQuery prototype...12.显示页面加载次数和查询次数 将下面的代码添加到你的模板上就可以显示加载你的页面需要的时间和执行的sql查询次数了。 这个方法可以快速了解你的WordPress博客优化程度。

    1.3K30
    领券