Мой веб-сайт использует обратный прокси-сервер Google (я в Китае, не могу получить доступ к Google), как этот URL:
"https://accounts.google.com/SignUp?hl=zh_CN&continue=https://myaccount.google.com/intro"
Я хочу удалить базовый лейбл, используя javascript?, Но мой метод не работает, Возможно, я сделал что-то не так, не знаю почему. Большое спасибо за любую помощь.
мой js-метод:
document.body.innerHTML = document.body.innerHTML.replace('<base href.*?>','')
Исходный код такой:
<!doctype html>
<html lang = "zh-CN" dir = "ltr">
<head>
<base href = "https://accounts.google.com/">
Я ожидаю вывод:
<!doctype html>
<html lang = "zh-CN" dir = "ltr">
<head>
Надеюсь, это поможет.
var elem = document.getElementsByTagName('base');
elem[0].href = '';
Если вы хотите очистить содержимое тега head, это должно быть сделано:
document.getElementsByTagName('head')[0].innerHTML = ''
Если это просто базовый тег, то:
const headTag = document.getElementsByTagName('head')[0];
const baseTag = headTag.getElementsByTagName('base')[0];
headTag.removeChild(baseTag);
Просто возьмите элемент с querySelector
и удалите его.
var elem = document.querySelector('base');
elem.parentNode.removeChild(elem);
<!doctype html>
<html lang = "zh-CN" dir = "ltr">
<head>
<base href = "https://accounts.google.com/"/>
</head>
</html>
Вам не хватает разделителей в регулярном выражении, вместо
'<base href.*?>'
попробуйте/<base href.*?>/
.