Extjs - 为选项卡生成唯一的 url

2024-05-12

据我了解,ExtJS 使用 AJAX 进行所有服务器端通信,并且理想情况下每个应用程序只有一页。但我正在探索为 ExtJS 选项卡生成唯一 URL 的可能性,然后用户可以从地址栏复制该 URL 以供以后使用(传统 Web 应用程序方法 - 使页面可添加书签)。如果有人做过类似的事情,请告诉我。


您可以利用“哈希”。这是 URL 中“#”字符后面的部分。

如果您只需要在页面加载时对哈希做出反应以支持书签功能,那么您可以使用以下方法:

Ext.onReady(function() {
    var tabPanel = new Ext.TabPanel({
        // Configure for use in viewport as needed.
        listeners: {
            tabchange: function( tabPanel, tab ) {
                window.location.hash = '#'+ tab.itemId;
            }
        }
    });

    var token = window.location.hash.substr(1);

    if ( token ) {
        var tab = tabPanel.get(token);

        if ( ! tab ) {
            // Create tab or error as necessary.
            tab = new Ext.Panel({
                itemId: token,
                title: 'Tab: '+ token
            });

            tabPanel.add(tab);
        }

        tabPanel.setActiveTab(tab);
    }
});

您还可以选择更进一步,使用大多数浏览器最新版本支持的 hashchange 事件。这将允许您在页面完成加载后对用户或编程方式更改的哈希做出反应:

if ( 'onhashchange' in window ) {
    window.onhashchange = function() {
        var token = window.location.hash.substr(1);
        // Handle tab creation and activation as above.
    }
}

值得注意的是,Ext.History 单例承诺提供与此类似的功能。然而,从 ExtJS 3.3.1 开始,它还没有支持 hashchange 事件,而是完全依赖于轮询间隔和隐藏的 iframe hack。我对其在现代浏览器(尤其是 IE)中的性能并不满意,直到我重写它以在可用的情况下使用 hashchange。

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

Extjs - 为选项卡生成唯一的 url 的相关文章

  • 从 Ext.data.Store 访问 http 状态代码

    我有一个 http API 令人震惊的新技术 它对设置不同响应状态的不同错误做出反应 问题是 当使用 Ext data Store 和一些 XMLHttpRequest inside 代理时 处理这种状态的最佳方法是什么 据我所知 加载 事
  • 使用分页 extjs 在组合框中搜索

    您好 我正在尝试在组合框中进行搜索 它正在工作 但仅在当前页面中搜索我也使用分页搜索 我需要在所有页面中搜索而不仅仅是当前页面 任何建议 xtype combo fieldLabel Organization Id name company
  • Xtemplate if sencha touch 中的条件

    我有以下 Xtemplate 代码 Ext XTemplate div class moreArrow div div class img img src http localhost WL2 assets rest image div d
  • 在文本字段中输入文本时禁用面板水平滚动

    当有人在文本字段中输入文本时 我想禁用面板的水平滚动 第一个问题 目前的问题是 当您在任何文本字段中输入文本并按键盘上的右箭头键 keyCode 39 时 面板水平方向也会向正确的方向移动 我想在文本字段中输入文本时禁用它 第二个问题仅当单
  • 查询具有特定 xtype 的子组件

    有没有一种方法可以查询 xtype yourxtype 的子组件 例如 您有一个面板 该面板内部是位于工具栏上的自定义 xtype findParentByType 非常适合查找 但没有像 findChildByType 这样的方法 并且
  • 当另一个下拉列表中的值发生变化时加载一个下拉列表的存储

    我有 2 个下拉菜单 根据在一个下拉列表中选择的值 我需要使用 JSON 进行 AJAX 调用来检索值并在其他下拉列表中可用 这需要在 EXTJS 中完成 我尝试了以下代码 FUNCTION NAME Field on select fun
  • 如何使 svg 元素(例如矩形)scrollIntoView?

    我在图形面板中有一个 svg svg 中的所有节点都在另一个面板中列出 我希望通过单击节点列表中的节点 svg 可以滚动到该节点 每个节点都是一个矩形 但我发现只有上边框在视图中 而节点的其余部分仍然在视图之外 有什么办法可以解决这个问题吗
  • extjs 3.3:浮动面板

    我正在尝试在其他预先创建的面板上创建一个浮动面板 我尝试遵循简单的代码 但失败了 var testPanel new Ext Panel id testP width 50 height 100 floating true title Te
  • 动态使用存储中的额外参数

    我有一个表格 在表格中 我使用的是comboBox with a store xtype combobox id SubContractor name SubContractor fieldLabel Sub Contractors sel
  • Extjs + D3:渲染冲突

    当我结合 Extjs 和 D3 时 我正在挖掘一些非常有趣的东西 一般来说 ExtJS渲染整个页面的主框架 D3渲染该框架中某个div的动态图 由于Extjs中的渲染逻辑相当复杂 因此我放置D3渲染逻辑的位置似乎至关重要 这里我尝试了两种
  • 比较 YUI 和 Ext JS [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在ExtJS中,调用Model.save()还是Store.Sync()更好?

    每一个的后果是什么 我看到Model save 例如 使用服务器的结果自动刷新模型 我不确定是否sync does 使用服务器的结果自动刷新模型 Store sync 也会刷新修改的记录 前提是您已正确设置服务器响应 因此 从技术上讲 这两
  • 如何使用 Sencha Touch 数据模型读取嵌套 JSON 结构?

    我整个晚上都在试图解决这个问题 但没有成功 我有一个 JSON 结构如下 来自另一个系统 所以我无法更改其结构 parents parent parentId 1 children child childId 1 ch
  • Extjs中始终显示Slider的提示文本

    在 Extjs 4 1 1a 中 如何保持tip text滑块始终可见 目前 tip text每当用户拖动滑块栏时就可见 我搜索了docs http docs sencha com ext js 4 0 api Ext slider Sin
  • ExtJS EditorGridPanel 中的级联组合框

    我有一个正在运行的 EditorGrid 面板 其中两列有 ComboBox 编辑器 两个组合框都是从数据库远程加载的 countryStore and cityStore 我想限制cityComboBox仅显示所选国家 地区的城市 我需要
  • ExtJS 4.1:如何将本地数据与 ajax 加载的数据合并到单个存储中?

    我正在寻找一种将本地数据与 ajax 加载的数据组合到单个存储中的方法 我很难用英语解释这一点 我希望这段代码能更明确 var store Ext create Ext data Store autoLoad true fields id
  • 如何让 ExtJS ComboBox 与文本一起显示?

    我想让以下内容显示在一行中 我尝试过使用样式浮动和显示 Show this input
  • 显示最后一条记录值,并非所有值都循环

    在下面的代码中 在 copyChild 和 insideModelRetrieved 函数中 在控制台 4 个功能上一一打印 但在下一个函数 onInnerModelRetrieved 4 次中打印最后一个功能值 我无法弄清楚为什么会发生这
  • 向 ExtJS GridPanel 添加过滤器标题行

    我知道可以在列标题下添加一个过滤器行 因为我已经看到它是用 Coolite 完成的 但由于我是 Sencha ExtJS 的新手 所以我很难找到如何直接在脚本中使用 ExtJS grid GridPanel 来完成此操作 请您用一些样品为我
  • ExtJS:简单表单忽略 formBind

    我有一个小问题让我发疯了好几天 我有一个表单面板 Ext define EC view PasswordPanel extend Ext form Panel alias widget pwdpanel bodyPadding 15 ini

随机推荐

  • 仅从 tsv 中的列索引生成“特殊”字典结构

    想象一下这样一个制表符分隔的文件 9606 1 GO 0002576 TAS platelet degranulation Process 9606 1 GO 0003674 ND molecular function z Function
  • JTextArea - 双击/三次单击 + 移动鼠标的选择行为

    问题 当您双击 JTextArea 中的单词时 它会被标记 但是当您不释放鼠标按钮并尝试标记下一个单词时 它不会标记整个单词 而是标记单个字符 移动鼠标 双击 时 它应该标记整个单词 而不是单个字符 这实际上是我尝试过的所有程序的默认行为
  • Ajax.BeginForm 无法与 Html.ValidationSummary 一起使用

    我正在尝试使用 Ajax BeginForm 将数据发布到控制器 如果出现特定错误 表单应重新呈现并显示添加到 ModelState 的自定义错误消息 由于某种原因 错误消息未显示 我什至正在尝试以下不起作用的测试用例 我是否遗漏了什么 E
  • 初始化二维数组

    我正在尝试初始化一个二维数组 其中每个元素的类型是char 到目前为止 我只能通过以下方式初始化这个数组 public class ticTacToe private char table public ticTacToe table 0
  • Magento Connect Manager 和 ftp 写入文件权限

    将我的网站从开发域转移到实时域后 我尝试使用 magento 连接管理器安装扩展 但是我不断收到 CONNECT ERROR Please check for sufficient ftp write file permissions Yo
  • 以编程方式启动 Scala REPL?

    我想从命令行启动 Scala Swing 应用程序 然后在应用程序启动后 放入 Scala REPL 中以用作控制界面 理想情况下 我还想预先绑定一些变量名称 更好的是使用 REPL 的 Java2D 终端模拟器 但我找不到任何合适的东西
  • 如何修复从 React 对 Elasticsearch 进行 API 调用时的“混合内容:”错误

    我正在使用 firebase 的 elasticsearch 的 bitnami 版本 我发现它只能连接到http并不是https当我使用邮递员尝试时 我的create react app已部署到 firebase 我得到Mixed Con
  • 选择排序,对于 Java

    我无法理解这个伪代码并将其实现到我的程序中 有人可以更好地解释它或向我展示代码的外观吗 谢谢 A an array containing the list of numbers numItems the number of numbers
  • 从 imread 返回的 ndims

    我正在从文件夹中选取图像 尺寸为128 128 为此 我使用以下代码行 FileName PathName uigetfile jpg Select the Cover Image file fullfile PathName FileNa
  • jquery 查找下一个带有类的元素

    我试图找到下一个具有 错误 类别的元素并碰壁 在查看 jQuery 网站上的演示时 这应该可以工作 但事实并非如此 button disabled next text this button is disabled div div
  • 更新 DynamoDB 中的多条记录

    如何在单个查询中更新 DynamoDB 中的多条记录 我有一个 csv 文件作为基于 csv 文件的输入 我必须更新数据库中的多条记录 只有一个属性 有可用的 API 吗 或者这可以使用批处理 Spring batch 来完成 Dynamo
  • Tess4j - Pdf 到 Tiff 到 tesseract - “警告:分辨率 0 dpi 无效。使用 70 代替。”

    我正在使用 tess4j net sourceforge tess4j tess4j 4 4 0 并尝试对 pdf 文件进行 OCR 因此 据我了解 我必须首先将 pdf 转换为 tiff 或 png 其中有任何建议吗 我这样做是这样的 t
  • 在discord.py中访问成员的横幅

    我正在制作图像配置文件命令 我想为此访问会员的横幅 我们有什么办法可以在discord py 中做到这一点吗 如果不清楚我所说的横幅是什么意思 那么蓝色背景的图像就是横幅 我想访问它 在discord py v2 0中你可以使用 You m
  • jquery 动态 iframe - !document.write 和 IE 问题

    为什么这在所有浏览器中都有效 除了 IE var iframe var doc iframe contents doc find head append 但是 如果我在 document write 中使用非 jquery 对象 它在 IE
  • 在打字稿中通过 this 从派生类型调用构造函数

    在我的打字稿中 我尝试通过基类中的方法创建 克隆子对象 这是我的 简化的 设置 abstract class BaseClass
  • 如何使用 ggplot2 绘制 NA 间隙

    在 R 的基本绘图中 如果数据系列 ggplot2 中存在 NA 则会绘制间隙 举个例子看看 df data frame x c 1 10 y c 1 10 df 5 7 NA plot df type l 但是 ggplot2 删除了缺失
  • 父属性是否可以设为最终属性,以便子属性无法覆盖

    是否可以使模块 pom 无法覆盖父 pom 中的属性 例如 如果模块 pom 说
  • 如何使用图像生成 SVG 二维码?

    我有一个用于生成 jpeg 和 png 格式的 qrcode 的代码 但也想在 PHP 中生成带有背景图像的 svg qrcode 我正在使用 qrlib php 生成 jpeg 和 png 格式 QRlib php 也支持 SVG 不是吗
  • 如何通过单个mysql查询更新多个表?

    我有两个表 tb1 和 tb2 我必须在用户级别更新两个表的公共列 我对两个表都有一个共同的标准 例如用户名 所以我想这样更新 UPDATE tb1 tb2 SET user level 1 WHERE username Mr X 但不知何
  • Extjs - 为选项卡生成唯一的 url

    据我了解 ExtJS 使用 AJAX 进行所有服务器端通信 并且理想情况下每个应用程序只有一页 但我正在探索为 ExtJS 选项卡生成唯一 URL 的可能性 然后用户可以从地址栏复制该 URL 以供以后使用 传统 Web 应用程序方法 使页