Apostrophe cms 如何从URL获取哈希值

Apostrophe cms 如何从URL获取哈希值,apostrophe-cms,Apostrophe Cms,当用户到达带有特定URL的登录页面时,我正在将用户重新定向到默认页面,我想知道散列后获得值的最佳方式是什么 例如: 登录页URL为: 但当用户访问时,他们将被重新定向到 我已经创建了一个名为my redirect的自定义模块,index.js的代码如下所示 module.exports = { construct: function(self, options) { self.pageBeforeSend = function(req, callback) {

当用户到达带有特定URL的登录页面时,我正在将用户重新定向到默认页面,我想知道散列后获得值的最佳方式是什么

例如: 登录页URL为: 但当用户访问时,他们将被重新定向到

我已经创建了一个名为my redirect的自定义模块,index.js的代码如下所示

module.exports = {
    construct: function(self, options) {
        self.pageBeforeSend = function(req, callback) {
            console.log("URL",req.absoluteUrl);
            return callback(null);
        };
    }
};
问题是即使用户访问,console.log也只是打印


如何获得上面示例中的值小狗?

这不是撇号问题,而是一般的web开发问题。散列以及散列之后的所有内容都不会通过web浏览器发送到web服务器

这可以追溯到JavaScript之前的日子,那时散列仅用于跳转到页面中某个位置的“命名锚”

因此,浏览器端JavaScript总是有责任处理散列(或忽略它)

你可以写:

if (window.location.hash === '#puppies') {
  window.location.href = '/admin/signup';
}
非常简单

您也可以为jQuery使用任意数量的前端路由器,或者使用VueJS或React等前端框架(React路由器配置为使用散列),但对于这个简单的任务来说,这样做可能会有点过头

当然,您可以将这段代码放在一个脚本标记中,也可以放在一个用撇号“推”的JavaScript文件中。您可以将代码放在与项目相关的名为
lib/modules/撇号assets/public/js/site.js
的文件中(不要修改撇号npm模块),并将其添加到
app.js
中的模块配置中:

apostrophe-assets: {
  scripts: [ 'site' ]
}

希望这是有帮助的

这不是撇号问题,而是一般的web开发问题。散列以及散列之后的所有内容都不会通过web浏览器发送到web服务器

这可以追溯到JavaScript之前的日子,那时散列仅用于跳转到页面中某个位置的“命名锚”

因此,浏览器端JavaScript总是有责任处理散列(或忽略它)

你可以写:

if (window.location.hash === '#puppies') {
  window.location.href = '/admin/signup';
}
非常简单

您也可以为jQuery使用任意数量的前端路由器,或者使用VueJS或React等前端框架(React路由器配置为使用散列),但对于这个简单的任务来说,这样做可能会有点过头

当然,您可以将这段代码放在一个脚本标记中,也可以放在一个用撇号“推”的JavaScript文件中。您可以将代码放在与项目相关的名为
lib/modules/撇号assets/public/js/site.js
的文件中(不要修改撇号npm模块),并将其添加到
app.js
中的模块配置中:

apostrophe-assets: {
  scripts: [ 'site' ]
}

希望这是有帮助的

哈!!非常感谢。汤姆,我一开始就应该知道。谢谢你的回复。哈!非常感谢。汤姆,我一开始就应该知道。感谢您的回复。