是否有任何方法可以快速轻松地将标准网站加载转换为整个网站上的AJAX
Is there any way to quickly and easily convert standard website loading to AJAX on entire website?
也许这不是一个好问题,但我想知道它是否会以某种方式容易和快速(只有一个功能也许?)可以改变网站上的所有链接从刷新网页到加载用户通过AJAX点击的URL ?
我的网站有标准链接无处不在,但如果你想有iPhone的移动应用程序出来,你需要使用AJAX无处不在(也许HTML5历史API),因为任何链接将打开Safari浏览器。
你认为有没有办法快速转换每一个链接,删除当前的源代码和加载全新的页面,而不刷新浏览器窗口?或者它是否需要手动编码并为每一组链接单独提供功能?
的例子:
jQuery(document).on('a', 'click', function(){
// STEP1: AJAX call that will make PHP download page from link
// STEP2: Delete current source code and load new one (in this case including deletion of this function itself)
});
你认为这有可能吗?还是会有陷阱?
我也做过类似的事情。这是可能的,但您可能需要在服务器端更改一些东西。在我的情况下,我与href = #
有一些链接,其中一些有点击触发器,所以我想把它们排除在外。
在这个函数中,我检查没有href = #
的每个链接,如果他们没有点击事件,我绑定ajax。
bindAjaxLinks: function() {
$('a[href!="#"]').each(function() {
var eventObj = $(this).data('events');
if (!eventObj || !eventObj.click) {
// not a javascript link, do your thing
var link = $(this).attr('href');
if (link) {
$(this).click(function(event) {
event.preventDefault();
// do your ajax calling here.
});
}
}
});
一些注意事项:在我的情况下,我添加了一个额外的参数,像isAjax
的每一个请求,我用这个函数,在后台我只发送整个页面的一部分(没有头部和一些其他标记)。后来,我用这个新的html替换了用户可见的内容。
这引起了一个问题:如果服务器响应了一个重定向,我得到了整个页面,这是我不想要的,所以我确保这个isAjax
参数在重定向后保持,并且解决了这个问题。
相关文章:
- 将一个主要网站转换为javascript应用程序
- 将我的网站转换为使用 Angular JS
- 如何将鼠标选择默认效果转换为在网站中滚动/滑动
- 将VBA转换为与外部网站交互
- 如何更改转换:当滚动浏览网站时元素的translate()位置
- ASP.net 3.5 将现有网站转换为响应式设计
- 如何在 PDF 中转换我的网站上的 DOM 元素
- 如何将网站弹出窗口的 html 转换为移动兼容网站
- PHP脚本从网站下载文本,转换并存储在本地
- Nike单板滑雪网站's Jquery/Javascript转换
- 将网站上的所有右键点击转换为左键点击
- 将angular2应用从本地NodeJS应用转换为网站
- 网站如何将latex文件转换为pdf
- 我没有办法把我的网站图片转换成双语
- 从网站导入数据:将Java Script代码转换为VBA代码
- 在我的网站上设置文件上传按钮的样式(输入类型=“文件”),它似乎运行良好,但在 iOS 上会转换
- 平面网站转换为 RoR 网站
- 如果我计划将网站转换为安卓/iOS 应用程序,是否应该将 iframe 用于网络编程
- 如何将我的响应式网站轻松转换为原生iOS和Android应用程序?
- Javascript停止工作时,将网站转换为Wordpress