创建一个脚本来创建一个链接,该链接是当前URL的修改版本

Create a script to create a link which is a modified version of the current URL

本文关键字:一个 创建 链接 URL 修改 版本 脚本 本来      更新时间:2023-09-26

我有一个网站的顺序页面命名。以下面的例子

  • mysite.com/index.html
  • mysite.com/book - 1. - html
  • mysite.com/book - 2. - html

我想创建一个按钮,运行一个脚本来获取当前的URL,并增加"book-"后的数字1。这将有效地用作"下一页"按钮。我想避免使用硬编码链接,因为真正的网站有超过900页。这将是有用的,因为我只需要复制一个代码片段到每个页面上,而不是花时间手动更改每个链接。

要做到这一点,我计划使用JS:

  1. 获取当前网页的URL
  2. 用"-"字符分割文本字符串
  3. 将"-"字符后的数字增加1
  4. 将术语"www.mysite.com/book-"与步骤3中新计算的数字连接起来

然后我想使用这个结果连接的文本字符串作为HTML标记....的href属性的值它看起来应该像下面这样:

<a href="*concatenated string from step 4*" >

步骤1-4中使用的最简单的javascript代码是什么?在标签中使用的正确语法是什么,以便超链接指向步骤4中生成的URL(连接字符串)?

我的答案基本上是获取URL,拆分它,然后获得当前URL上的图书编号,然后将其加1,然后将href属性设置为下一本书…

虽然,我显然没有一个URL你的网站,所以在评论的地方,用document.URL代替字符串…这里有一个当前URL的库(显然不是你的网站)

var URL = "http://example.com/book3.html"; // Replace this with document.URL in your actual script
var URL_split = URL.split("/");
var URL_return_num = parseInt(URL_split[URL_split.length - 1].replace(/book(.*?)'.html/i, "$1"));
document.getElementById("next_book").setAttribute("href", "book"+(URL_return_num+1)+".html");

我将详细说明它的实际作用。

var URL:这将存储URL以便将来在脚本中使用。

var URL_split:这将URL更改为一个数组,用于文本中的每个"/"。

var URL_return_num:这是一个相当紧凑的。这基本上获取了拆分URL的最后一部分,即"book3.html"…它用正则表达式删除"book"answers"。html"。然后将其转换为int型,这样就可以添加到。

中。

"book"+(URL_return_num+1)+".html":这将创建一个字符串,基本上表示"book" + (current_book_number + 1) + ".html",在这种情况下(在页面上),它将是"book" + (3+1) + ".html"


这是一个JSFiddle的例子,虽然它没有多大用处,因为它不在你的网站上。http://jsfiddle.net/XeroElixir/Uwg7n/1/