gpt4 book ai didi

javascript - 用户单击链接时 URL 路由不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 13:09:15 24 4
gpt4 key购买 nike

我正在尝试修改我们拥有的 Web 应用程序,但我不确定我是否可以执行所要求的操作。我的老板希望能够单击电子邮件中的链接,让我们的公司内部 Web 应用程序直接转到所提供 URL 末尾标识的页面。

如果我第一次点击下面的链接,它会转到我们网络应用程序的索引页面。如果我让 Web 应用程序保持打开状态并再次单击该链接,它将转到 URL 末尾标识的正确页面。

http://mycompanyweb.com/handbook/mycompanyprocess/#/rt/softwate/9.13_UpdateSDP

我已经尝试添加一个 init(),认为这是应用程序在生命周期中最先进行的地方,而此时我只看到了 URL 的这一部分(http://mycompanyweb.com/handbook/mycompanyprocess/)。这让我相信浏览器在第一次打开时会在 # 之后删除所有内容。那是对的吗?我可以做些什么来让我们的 Web 应用程序在用户第一次单击链接时直接转到文档,而无需打开 Web 应用程序?

http://mycompanyweb.com/handbook/mycompanyprocess/ - Base URL

#/rt - Used by our javascript engine to determine which path to take
(dev or production).

/software/9.13_UpdateSDP - Logical path to a web page named 6.034_UpdateSDP.htm

我们的引擎根据 URL 确定路由到哪里。我假设第二次点击链接会转到正确的页面是因为引擎已加载(前提是第二次点击时浏览器保持打开状态)。

$(document).ready(function () {
// Define the routes.
Path.map("#/:program").to(function () {
var program = this.params['program'];

if (program == "search") {
$("#mainContent").load("search.html");
}
else {
$("#mainContent").load("views/onepageprocess.html");
}

$("#subheader").html("");

$("#headerLevelTwoBreadcrumbLink").html("");
}).enter(setPageActions);

Path.map("#/:program/:swimlane").to(function () {
localStorage.removeItem("SearchString");

var swimlane = this.params['swimlane'];

var view = "views/" + swimlane + ".html";

$("#mainContent").load(view);

}).enter(setPageActions);

// Sends all links to the level three view and updates the breadcrumb.
Path.map("#/:program/:swimlane/:page").to(function () {
var page = this.params['page'];

var url = "views/levelthree/" + page.replace("", "") + ".htm";

var levelThreeTitle = "";

$.get(url)
.done(function () {
// Nothing here at this time...
}).fail(function () {
url = "views/levelthree/badurlpage.htm";

levelThreeTitle = "Page Unavailable";
}).always(function (data) {
$("#subheader").html("");

level_three_breadcrumb = "views/breadcrumbs/breadcrumb_link.html";

$("#headerLevelTwoBreadcrumbLink").load(level_three_breadcrumb);

$("#headerLevelThreeBreadcrumb").html("");

$('#headerLevelThreeBreadcrumb').append('<img src="images/Chevron.gif" />');

if (data.status != "404") {
$("#headerLevelThreeBreadcrumb").append(retrieveStorageItem("LevelThreeSubheader"));
}

$("#mainContent").load(url);
});

}).enter(setPageActions);

// Set a "root route". User will be automatically re-directed here. The definition
// below tells PathJS to load this route automatically if one isn't provided.
Path.root("#/rt");

// Start the path.js listener.
Path.listen();
});

我可以做些什么来让我们的 Web 应用程序在用户第一次单击链接时直接转到文档,而无需打开 Web 应用程序?

最佳答案

如果有人遇到这样的事情,我发现我公司的服务器在身份验证时剥离了 URL 中 # 后面的任何内容。我将修改我的应用程序,使其不在 URL 中使用井号标签来修复它。

关于javascript - 用户单击链接时 URL 路由不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35726725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com