如何为使用 AJAX 获取的页面或内容添加“书签”?

2024-01-26

如何为使用 AJAX 获取的页面或内容添加“书签”?

看起来,如果我们只是将详细信息添加到“锚点”,然后使用路由,甚至在 PHP 代码或 Ruby on Rails 的 Route.rb 中,捕获该部分,然后显示内容或页面,这似乎很容易因此? (显示整个页面或部分内容)

那么事情可以很简单吗?看起来 Facebook 就是这么做的。还有哪些其他好的方法可以做到这一点?


更新:现在有 HTML5 History API(pushState、popState),它弃用了 HTML4hashchange功能。历史.js https://github.com/balupton/history.js提供跨浏览器兼容性和optional https://github.com/balupton/history.js/wiki/Intelligent-State-Handling hashchangeHTML4 浏览器的后备。

要存储页面的历史记录,最流行且功能齐全/支持的方式是使用 hashchanges。这意味着说你从yoursite/page.html#page1 to yoursite/page.html#page2您可以跟踪该更改,并且因为我们使用散列,所以可以通过书签以及后退和前进按钮来获取它。

您可以使用 jQuery History 项目找到一种绑定哈希更改的好方法http://www.balupton.com/projects/jquery-history http://www.balupton.com/projects/jquery-history

它还有一个全功能的 AJAX 扩展,允许您轻松地将 Ajax 请求集成到您的状态/哈希中,将您的网站转变为全功能的 Web 2.0 应用程序:http://www.balupton.com/projects/jquery-ajaxy http://www.balupton.com/projects/jquery-ajaxy

他们都在演示页面上提供了很好的文档来解释正在发生的事情和正在发生的事情。

以下是使用 jQuery History 的示例(取自演示站点):

// Bind a handler for ALL hash/state changes
$.History.bind(function(state){
    // Update the current element to indicate which state we are now on
    $current.text('Our current state is: ['+state+']');
    // Update the page"s title with our current state on the end
    document.title = document_title + ' | ' + state;
});

// Bind a handler for state: apricots
$.History.bind('/apricots',function(state){
    // Update Menu
    updateMenu(state);
    // Show apricots tab, hide the other tabs
    $tabs.hide();
    $apricots.stop(true,true).fadeIn(200);
});

以及 jQuery Ajaxy 的示例(取自演示站点):

        'page': {
            selector: '.ajaxy-page',
            matches: /^\/pages\/?/,
            request: function(){
                // Log what is happening
                window.console.debug('$.Ajaxy.configure.Controllers.page.request', [this,arguments]);
                // Adjust Menu
                $menu.children('.active').removeClass('active');
                // Hide Content
                $content.stop(true,true).fadeOut(400);
                // Return true
                return true;
            },
            response: function(){
                // Prepare
                var Ajaxy = $.Ajaxy; var data = this.State.Response.data; var state = this.state;
                // Log what is happening
                window.console.debug('$.Ajaxy.configure.Controllers.page.response', [this,arguments], data, state);
                // Adjust Menu
                $menu.children(':has(a[href*="'+state+'"])').addClass('active').siblings('.active').removeClass('active');
                // Show Content
                var Action = this;
                $content.html(data.content).fadeIn(400,function(){
                    Action.documentReady($content);
                });
                // Return true
                return true;

如果你想获取查询字符串参数(所以yoursite/page.html#page1?a.b=1&a.c=2)你可以只使用:

$.History.bind(function(state){
    var params = state.queryStringToJSON(); // would give you back {a:{b:1,c:2}}
}

因此,请查看这些演示链接以查看它们的实际情况,以及所有安装和使用详细信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为使用 AJAX 获取的页面或内容添加“书签”? 的相关文章

  • 如何根据所选类别隐藏 Django 表单中的字段?

    我需要确保当您添加新广告时 选择一个类别 隐藏表单中不必要的字段 我明白这是用JS做的 但暂时不太明白 所以我告诉你是否有人擅长 例如 我希望在选择 房屋和土地 时 舞台 消失 上市型号 class Listing models Model
  • Ajax.ActionLink 和确认对话框

    我有一些问题 Ajax ActionLink 我想显示确认对话框 是的 我知道我可以这样做 Ajax ActionLink Do it Delete new AjaxOptions Confirm Are you sure 但我想要有自己的
  • GWT 的 RPC 与 AJAX 不同吗?

    与 AJAX 调用相比 GWT Google Web Toolkit 的 RPC 远程过程调用 用于从浏览器 javascript 到服务器的异步操作有何不同或相似 如果它们不同 有人可以帮助我理解它们有何不同吗 我还听说这个 RPC 实现
  • .ajax() 等价于 .load() 是什么?

    我正在使用 ajax 请求从服务器检索文本字符串 我尝试使用 load 但问题是它在运行我的回调函数 它只是逐个字母地显示文本 之前将文本注入到页面中 因此 为了缓解这种情况 我已转向 ajax 并在成功回调中使用我的函数 这对于逐个字母地
  • Rails *已完成 406 不可接受”在生产中..在暂存中工作

    我遇到了一个错误 已完成 406 不可接受 在生产服务器中 而在登台服务器中我没有面对 相同的代码在暂存中工作正常 但在生产中无法工作 两个环境都安装了相同的 gem 我使用的是 Rails 版本 3 0 10 在我的生产环境中 GET 请
  • 在asp.net mvc中如何知道请求是否是ajax?

    有人我怎么知道请求是否是ajax 我使用 jquery 进行 ajax 还有Request IsAjaxRequest如果您使用的是更高版本的 MVC 我不再有版本 1 所以我不能说它是否在版本 1 中 如果您需要在 Global asax
  • Google 地图 api V3 - 从查询结果动态添加多个标记

    我正在尝试在页面上设置一个地图 并在其下方设置几个链接 单击这些链接时 将动态查询我的数据库并在地图上输出结果集 我花了很多时间在谷歌上搜索这个 但找不到我想要的东西 我已经使用 AJAX 返回纬度和经度坐标了 但是当尝试在地图上创建标记时
  • 选择所有相同类元素并存储在字符串中

    我有一个页面 其中有用户留下的评论 每个帖子都有自己的 id 存储在隐藏的输入标记中 为了动态获取最新帖子 我需要知道所有帖子的 id 并将它们放在字符串中 每个id需要用逗号分隔 例如 HTML 标记 div class msgPost
  • 我创建了一个对话框,现在如何关闭它?

    我在下面添加了一个指向我网站的链接 用于查看头部部分中的 JS 并让您了解我是如何设置这一切的 如果您不想使用该链接 我也会尝试添加下面的代码 我最近在我网站的某些页面上学习了一些基本的 AJAX我创建了一个对话框 您将看到它出现在滚动条上
  • 使用 javascript 而非 jQuery 的简单 ajax 表单

    我正在使用一个表单 其标记我无法更改且无法使用 jQuery 目前 该表单将结果发布到新窗口 是否可以将其更改为 ajax 表单 以便在提交时显示结果而不更改任何标记 将结果 标记 从结果页面拉回到表单页面 这是表单的标记
  • onchange 使用 radioChoice 获取当前值

    我尝试使用 radioChoice onChange 从无线电表单中获取选定的值 但似乎无法真正找到解决方案 onEvent 函数被调用 但从这里我不太确定如何获取该值 Code RadioChoice
  • MVC:如何使用ajax?

    我将使用 Zend Framework MVC 实现启动一个项目 我如何使用ajax 我的意思是 我应该将所有 ajax 代码放入控制器中吗 还是进入视野 例如 我想将作者 ivan 的帖子显示在页面上 通常 我创建一个指向 posts a
  • 如何在 Eclipse 3.4.1 中导航到书签?

    我可以在源文件中设置书签 但是是否有快捷键可以导航到书签 这navigate菜单有一个转到行 但这没有用 如果勾选 下一个注释 上一个注释 工具栏下拉项中的 书签 项 则可以使用Ctrl and Ctrl 导航到当前打开的文件中的上一个 下
  • Wicket:并发 Ajax 请求仅限于一个?

    情况 在我的 Wicket 应用程序中 我有一个包含两个标签的页面 每次选择一个选项卡时 都会通过 Ajax 获取其内容 以便每次切换到不同的选项卡时 都会从服务器新鲜加载其内容 在其中一个选项卡上 我有一个输入字段 其中有一个 onblu
  • 更改javascript nodejs中所有页面的href url

    我已经实现了具有多种语言下拉菜单的引导导航栏 当我选择语言时 它将翻译页面 如何更改其他页面的 url 和按钮文本 当我选择french 将所有网址更改为 fr about and fr contact 如何使用 JavaScript 进行
  • 自动完成仅显示消息并且结果可用,使用向上和向下箭头键进行导航。而是显示列表

    我的问题很清楚 我正在使用 jquery 自动完成 我不知道为什么它只向我显示消息 9 results are available use up and down arrow keys to navigate 没有向我显示结果列表 这是我的
  • CORS 在 jquery 中工作正常,但在 angularjs 中不行

    我的服务器端是php mysql 我正在另一个域的 Web 服务中进行 Ajax 调用 其中启用了 的访问控制 var postUrl http logical brains com elance clone test login php
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX

随机推荐

  • 如何忽略转义\ python列表?

    我想忽略以下代码中的转义字符 gt gt gt a gt gt gt print a 我想输出像 有什么办法可以做到这一点吗 Using string escape unicode escape编码 参见Python 特定编码 http d
  • React - 动态渲染一定数量的组件

    我想根据用户获得的积分数显示组件星号 MUI 组件 的数量 this state points 我不知道该怎么做 import React Component from react import Star from material ui
  • 使用拼凑时如何减少图之间的空间

    大家好 我正在使用一个小数据框来构建一些图ggplot2 我的数据框是df我把它包括为dput 在最后 我有情节 当我使用时问题出现patchwork 我希望最终的图没有空格 以便中间的线 即轴 可以将图连接在一起 这是代码 library
  • ITfoxtec SAML 2.0:配置 AWS SSO 时出现 InvalidSignatureException

    我有一个小型测试应用程序 已成功与 Okta 作为 IdP 集成 我还设置了 AWS SSO 来充当 IdP 当我将应用程序切换为使用 AWS SSO 时 出现以下错误 ITfoxtec Identity Saml2 Cryptograph
  • 测试对象是否实现接口

    以前可能有人问过这个问题 但快速搜索只提出了与 C 相同的问题 看这里 https stackoverflow com questions 410227 test if object implements interface 我基本上想做的
  • 根据另一个值的聚合查询唯一值,同时完全根据第三个值进行分组

    所以我知道这个问题并不是一个新问题 但我正在努力解决这个问题并了解处理此类情况的最佳方法 假设我有一个假设的表 X 如下所示 GroupID ID identity SomeDateTime 1 1000 1 1 01 1 1001 2 2
  • C 中的 OO 多态性、别名问题?

    我和一位同事正在尝试实现一个简单的多态类层次结构 我们正在开发嵌入式系统 并且仅限于使用 C 编译器 我们有一个基本的设计思想 可以在没有警告的情况下进行编译 Wall Wextra fstrict aliasing pedantic 并在
  • iOS 8 UITabBarController 和 UINavigationController 的旋转问题

    我在使用 iOS8 时遇到一个问题 这里我有我的视图层次结构 窗口 gt UITabBarController gt 2 个选项卡 Tab 1 gt UINavigationController1 gt UIViewController1
  • 通过 set/get 方法修改类

    尝试通过 get set 方法修改类中的对象 我无法理解如何仅使用 get set 方法来更改值 预期输出 输出 89 实际输出 输出 0 include
  • 如何在 Web 应用程序中获取客户端计算机的 Mac 地址

    我必须获取运行我的网站的客户端 PC 的 Mac 地址 那么如何获取客户端计算机的 Mac 地址 而不是托管网站的服务器的 Mac 地址 我需要与 IE Firefox Safari 和 Chrome 兼容的脚本 实现这一点的唯一方法是使用
  • 如何在 Cassandra 中将批处理语句和 LWT 作为事务执行

    我有两个模型如下的表 CREATE TABLE IF NOT EXISTS INV CODE TEXT PRODUCT CODE TEXT LOCATION NUMBER TEXT QUANTITY DECIMAL CHECK INDICA
  • 约束布局 - Textview 在尺寸增大时会与其他视图重叠

    上图显示了我想要的视图的样子 问题是 当上重力文本尺寸增加时 它会将图像推离视图 我尝试使用障碍 但无法使其发挥作用 下图显示了我在实现这一目标方面已经走了多远 但现在的问题是图像总是卡在最后 但我希望它位于重力文 本旁边 当该文本增加时
  • 与 import python 有点困惑

    我有 PHP 以及其他一些东西 背景 并且正在使用 Python 在 PHP 中 当我想包含另一个文件时 我只需这样做include or require并且该文件中的所有内容都包含在内 但似乎在 python 中做事情的推荐方法是from
  • 如何扩展 keyof 类型以使其包含密钥的修改版本,例如前缀为“-”?

    例如 我想将 Typescript 类型安全添加到普通 Javascript 中按字符串属性值对对象数组进行排序 https stackoverflow com a 4760279 13815493解决方案 它接受要排序的对象的键作为 ar
  • MVC5 OWIN ws-federation AuthenticationManager.GetExternalLoginInfoAsync() 返回 null

    我正在尝试在 Visual Studio 2013 中的新 MVC 5 项目中设置集成 OWIN WS Federation ADFS 身份验证 Startup Auth 中的 WsFederation 配置如下 app UseWsFede
  • 异常堆栈跟踪

    实现异常堆栈跟踪的最佳方法是什么 我找到了某种使用 uncaught exception 的解决方案 但它需要向每个函数添加一些代码 我需要在 Linux 和 Windows 下的 gcc 上工作的东西 我认为没有跨平台的方法可以做到这一点
  • 为什么 OrElseGet 似乎没有被调用

    我正在使用 Spring Boot 构建 REST API 并决定在 Spring Boot 最新版本中构建它 我遇到的问题是 由于某种原因我的代码似乎无法达到OrElseGet 或者我不知道如何处理Optional stuff 我想要做的
  • 使用子目录中的 404 ErrorDocument

    我的子文件夹中有一个 htaccess 文件 如下所示 subfolder htaccess 在htaccess文件中使用以下代码设置404 ErrorDocument ErrorDocument 404 404 php 问题是加载根目录中
  • 如何使用 jQuery UI 的 droppable 排序和创建多个文本字段?

    设想 我希望我的用户能够通过将产品拖到可放置和可排序的列表中来创建购物清单 根据产品在列表中的位置以及产品的价值 必须填充此表单的文本字段 jsFiddle http jsfiddle net imjp 5NWAQ 1 http jsfid
  • 如何为使用 AJAX 获取的页面或内容添加“书签”?

    如何为使用 AJAX 获取的页面或内容添加 书签 看起来 如果我们只是将详细信息添加到 锚点 然后使用路由 甚至在 PHP 代码或 Ruby on Rails 的 Route rb 中 捕获该部分 然后显示内容或页面 这似乎很容易因此 显示