#javascript #background-image
#javascript #background-image
Вопрос:
Пожалуйста, помогите мне, я работал над этим часами. Я только начал играть с JavaScript.
Итак, у меня есть кнопка, которая загружает новое окно браузера, загружает фоновое изображение. Как показано ниже, никаких проблем.
HTML
<script>
setBackground();
</script>
JavaScript
function setBackground() {
document.body.style.backgroundColor = "#000000";
document.body.style.backgroundImage = "url(bg.jpg)"
}
Затем я пытаюсь загрузить другое окно при нажатии кнопки, но фоновое изображение не будет работать. Окно работает, я могу изменить цвет фона без проблем, но я не могу загрузить изображение. код ниже.
//load screen on button click
document.getElementById("startButton").onclick = function() {
load()
};
function load() {
//create the new screen
newWindow = window.open("", "", "width=1550, height=800");
newWindow.id = "game";
newWindow.document.body.style.backgroundColor = "#000000";
newWindow.document.body.style.backgroundImage = "url(bg.jpg)";
}
Файлы и изображения расположены в одной папке, я использую одно и то же изображение, оно работает в первом примере, но не во втором.
Пожалуйста, помогите!!! Заранее спасибо.
Комментарии:
1. Привет @PatrickEvans. Я сделал, я просто изменил его для опубликованного кода. отредактируйте переменную, чтобы она была понятнее. Спасибо
2. Любой URL-адрес, вызываемый из window, относится к домену и текущему URI в адресе. Вы создаете окно с пустым URL. Я думаю, именно поэтому bg.jpg запрос не работает.
3. ОК. как мне это исправить? Я пробовал getElementById(«game»).SetAttributes, но не работает. Точка в правильном направлении будет удалена
4. Вы можете передать изображение base64. Например, «var xyz = ‘данные: изображение / png;base64, base64ImageContent’; NewWindow.document.body.style.background = ‘url(» xyz »)’;»
Ответ №1:
Проверьте эту ссылку и нажмите Выполнить
https://www.w3schools.com/code/tryit.asp?filename=GM9IO9Q6SDNL
попробуйте это.
<!DOCTYPE html>
<html>
<body onload="setBackground()" >
</body>
<script>
function setBackground() {
document.body.style.backgroundImage = "url(https://www.w3schools.com/html/pic_trulli.jpg)"
newWindowSetBackgroundload()
}
function newWindowSetBackgroundload() {
//create the new screen
var newWindow = window.open("", "", "width=1550, height=800");
//Id use for Uniq thats why its render only one time
// newWindow.id = "game";
//use class for multiple windows genration
newWindow.class = "game";
newWindow.document.body.style.backgroundColor = "#000000";
newWindow.document.body.style.backgroundImage = "url(https://www.w3schools.com/html/pic_trulli.jpg)";
}
</script>
</html>