#javascript #html #url
#javascript #HTML #url
Вопрос:
Чтобы увидеть проблему, введите этот URL-адрес «https://gainesrad.com/readqrcodefromkiosk /»
Он должен отображать URL веб-страницы, но вместо этого я получаю «about: srcdoc».
Вот HTML-код на gainesrad.com/readqrcodefromkiosk
<!DOCTYPE html>
<html>
<body>
<b>This should tell me the URL of the page but instead is says "about:srcdoc"</b>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = "The full URL is: " window.location.href;
</script>
</body>
</html>
Комментарии:
1. попробуйте
top.location.href
, когда в том же домене
Ответ №1:
srcdoc
Атрибут используется в контексте Iframe для указания содержимого iframe. При проверке полного исходного кода вашей страницы я заметил, что вы используете iframe, и именно поэтому вы получаете about:srcdoc
с window.location.href
Чтобы получить URL-адрес, переместите встроенный <script>
в контекст документа за пределами Iframe.
Смотрите это:https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/srcdoc
Поскольку ваш iframe содержится в контексте документа, вы можете сделать это, чтобы получить базовый URI содержащего документа:https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentDocument
let iframe = document.querySelector('iframe')
console.log('The baseURI is: ' iframe.contentDocument.baseURI)
Комментарии:
1. Спасибо, Мика, за ответ. Похоже, у вас есть ответ, но у меня возникли проблемы, потому что я не понимаю, как двигаться встроенный <script> outside the Iframe (I didn’t even know I was using an Iframe). Я проверил вашу рекомендованную ссылку, но я все еще не уверен, как написать код. Я попытался передвинуть <script> below the <html> но это не работает (например, я сделал это):
2. <!DOCTYPE html> <html> <body> <b>Это должно сказать мне URL-адрес страницы, а вместо этого говорит «о:srcdoc» </b> <p id=»demo»></p> </body> </html> <script> document.getElementById(«demo»).innerHTML = «The full URL is: » window. location.href; </script>
3. Можете ли вы помочь мне передвинуть встроенный <script> outside the Iframe?
4. @BobGaines, при проверке заголовка сгенерированной HTML-страницы вы используете генератор сайта, который вводит ваш контент в iframe, поэтому вы не знали, что используете iframe. Я обновил свой ответ, включив обходное решение. Посмотрите, работает ли это для вас
Ответ №2:
Вы все были правы. Я вызвал godaddy, и поскольку я использую конструктор веб-сайтов, я нахожусь в iFrame. Чтобы сделать то, что мне нужно на godaddy, мне пришлось приобрести веб-хостинг и прекратить использование конструктора веб-сайтов. Спасибо всем за помощь.