Я новичок в этом вопросе, и мне трудно сделать что-то, что, по моему мнению, должно быть простым.
У меня много страниц, размещенных на https://www.something.com/path/NUMBER/path/path
Внутри этих страниц у меня есть кнопка, которая ссылается на https://www.example.com/path/REPLACE/path
Я хочу заменить ЗАМЕНИТЬ в своей ссылке на НОМЕР в адресной строке.
Это мой код:
<!doctype html>
<html>
<head>
<meta charset = "utf-8">
<script src = "https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
<script>
$(document).ready(function(){
var newURL = window.location.protocol + "://" + window.location.host + "/" + window.location.pathname;
pathArray = window.location.pathname.split( '/' );
var part_2 = pathArray[2];
var mylink = "https://www.example.com/path/" + part_2 + "/path/page.html";
});
</script>
<p><a href = "#" id = "mylink">BUTTON</a></p>
</body>
</html>
Большое спасибо за Вашу помощь!
вы хотите изменить URL-адрес во время загрузки или хотите изменить ссылку в файлах напрямую?
Я хочу сделать это во время загрузки, так как страницы могут изменить свой путь
Я уже поделился этим в своем ответе stackoverflow.com/a/51442820/1262248



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если вы хотите изменить с помощью Javascript, вы можете сделать следующее:
var url = "https://www.something.com/path/NUMBER/path/path";
var oldUrl = "https://www.example.com/path/REPLACE/path/path";
var regex = /https://www\.something\.com/path/(\w*?)/.*/g;
var match = regex.exec(url);
oldUrl = oldUrl.replace("/REPLACE/", "/"+match[1]+"/");
console.info(oldUrl);-- РЕДАКТИРОВАТЬ --
Другой пример замены с использованием URL-адреса браузера и замены второго пути без учета оставшегося URL-адреса или путей.
$(document).ready(function() {
var url = window.location.href;
// As the script executed in iframe, assigning with hardcode value
url = "https://stackoverflow.com/questions/51442637/change-part-of-link-with-part-of-current-url#";
var oldUrl = "https://www.example.com/path/REPLACE/path/path";
var regex = /https://\w*?\.?\w*?\.\w*?/\w*?/(\w*?)/.*/g;
var match = regex.exec(url);
oldUrl = oldUrl.replace("/REPLACE/", "/" + match[1] + "/");
document.getElementById("mylink").href = oldUrl;
});<!doctype html>
<html>
<head>
<meta charset = "utf-8">
<script src = "https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
<p><a href = "https://stackoverflow.com/questions/51442637/change-part-of-link-with-part-of-current-url#" id = "mylink">BUTTON</a></p>
</body>
</html>Спасибо! Но что, если я хочу получить oldUrl из window.location.href; и используйте только второй путь, не обращая внимания на остальную часть URL.
Поделился еще одним примером. Надеюсь, это поможет тебе
Как это ?? <body> <script type = "text / javascript"> var url = window.location.href; var oldUrl = "example.com/courses/REPLACE/pages/page.html"; var regex = /https://\w*?\.?\w*?\.\w*?/\w*?/(\w*?)/.*/g; var match = regex.exec (URL); oldUrl = oldUrl.replace ("/ REPLACE /", "/" + match [1] + "/"); console.info (oldUrl); </script> <p> <a href = "" id = "oldUrl"> КНОПКА </a> </p> </body>
да, вот так, вы также можете нажать на фрагмент кода запуска, чтобы увидеть результат
Вы обновляете обновленный URL-адрес в кнопке с помощью javascript / jquery?
Я обновил свой ответ, чтобы показать, как вы также можете обновить тег привязки в предоставленном вами html
попробуй это. Url1: - https://www.something.com/path/NUMBER/path/path; Url2: - https://www.example.com/path/REPLACE/path;
url2 = url2.split('/').map(a => {
if (a == 'REPLACE')
return 'NUMBER';
else
return a;
}).join('/');
как насчет
$("#mylink").attr("href", mylink);