ajax加载include,JS实现完美include加载功能代码

css文件的动态加载应用具有多种效果,css文件的动态加载的知识不计其数,但是总的方法还是动态加载css文件,下面是爱站技术频道小编带给大家的实现完美include.html" target="_blank">include加载功能代码,一起来了解一下吧!

已有js include的一些问题

在写这个之前在网上搜索了些资料,发现以前写的include都存在2个问题,这也是include需要解决的比较重要的2个问题。

1、相对路径的问题: 在a.js中使用include("../js/common.js"); include 函数中肯定是使用相对路径,是相对a.js的路径。而a.js在html中使用嵌入有可能是相对路径,有可能是绝对路径。 include函数如何才能真正确定common.js的绝对路径,或者是相对html的相对路径。网上一些为了解决这个问题,还需要加一些js变量,不方便。

2、引用的问题。 网上include函数的实现几乎都是使用下面2种方式插入common.js

document.write("

}

在a.js中直接使用 include("../js/common.js");

多请求的问题

使用上面的include看上去挺爽的,不过却带来另外1个严重的问题,就是多发送了1个ajax的请求。

我们常常为了WEB性能,而合并js,减少请求。但使用include后却偏偏多了请求。如果这个问题不解决,相信很多人都不会在正式产品中使用include的了,除非是局域网产品。

如何解决这个多请求的问题,我也思考很久,最后觉的单单使用客户端js是没办法解决了。所以就想到了使用服务端代码来解决

还记的我之前有文章介绍 "js、css的合并、压缩、缓存管理"的时候,就通过服务器端代码在程序启动时候去合并js。

所以我把include多请求的解决方案也加到里面去。就是在程序启动的时候去查找所有的js,发现有使用include的就把include中common.js的源代码替换该include函数。这样a.js中在运行的时候就没有include函数,而是真真包含了common.js的内容的js文件

后语

丫的。说到最后,怎么又把所有的include都替换掉了,哪之前说的那么多不白说了。

个人觉得,每个产品都应该要区分开发环境和产品环境(一般通过配置文件进行区分),在开发环境应该以开发效率为首要,而产品环境则以性能为首。所以这里的inlcude就应该要区分对待,在开发环境中使用js include来提高开发和维护效率,而在产品环境中则自动把所有include替换成真真的js文件的内容。

通过上述介绍,大家对JS实现完美include加载功能代码有了一定的了解吧,如果大家有需要,爱站技术频道拥有专业的知识,可以帮您。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,在 WordPress 主题的 functions.php 文件中添加以下代码片段: ```php // 添加 AJAX 功能 add_action( 'wp_enqueue_scripts', 'add_ajax_script' ); function add_ajax_script() { wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/ajax-comments.js', array('jquery') ); wp_localize_script( 'ajax-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); } ``` 这将在 WordPress 的前端页面上添加所需的 JavaScript 文件,其中包括 ajax-comments.js。然后,在主题文件夹中创建一个新文件js,并在其中创建一个新文件 ajax-comments.js,并添加以下代码: ```javascript jQuery(document).ready(function($) { // 当提交评论表单时执行以下操作 $('#commentform').submit(function(){ var form_data = $(this).serialize(); // 序列化表单数据 $.ajax({ type: 'POST', url: ajax_object.ajax_url, // 使用 wp-admin/admin-ajax.php 进行 AJAX 请求 data: form_data + '&action=add_comment', // 将表单数据添加到请求中,并指定操作 success: function(response){ $('#commentform')[0].reset(); // 清空表单 $('.comment-list').append(response); // 将新评论添加到评论列表中 } }); return false; // 防止表单提交 }); }); ``` 这将在评论表单提交时使用 AJAX 进行异步请求,并在成功后将新评论添加到评论列表中。最后,在 functions.php 文件中添加以下代码以处理 AJAX 请求: ```php // 处理 AJAX 请求 add_action( 'wp_ajax_add_comment', 'add_comment_callback' ); add_action( 'wp_ajax_nopriv_add_comment', 'add_comment_callback' ); function add_comment_callback() { $comment_data = array( 'comment_post_ID' => $_POST['comment_post_ID'], 'comment_author' => $_POST['author'], 'comment_author_email' => $_POST['email'], 'comment_author_url' => $_POST['url'], 'comment_content' => $_POST['comment'], 'comment_type' => '', 'comment_parent' => $_POST['comment_parent'], 'user_id' => get_current_user_id(), 'comment_author_IP' => $_SERVER['REMOTE_ADDR'], 'comment_agent' => $_SERVER['HTTP_USER_AGENT'], 'comment_date' => current_time( 'mysql' ), 'comment_approved' => 1, ); $comment_id = wp_insert_comment( $comment_data ); // 插入新评论 $comment = get_comment( $comment_id ); // 获取新评论的信息 include( locate_template( 'comment.php', false, false ) ); // 加载评论模板并显示新评论 die(); // 终止脚本 } ``` 这将使用 wp_insert_comment() 函数将新评论插入 WordPress 数据库,并使用 comment.php 模板文件来显示新评论。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值