[英]Mozilla Firefox innerhtml not working
我正在使用firefox和innerhtml
遇到問題。 我不知道為什么它不起作用:/ Chrome,Opera,IE,Safari可以正常工作,但是Firefox ...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<title>Dokument bez názvu</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/styl.css">
<script type='text/javascript' src='js/jquery-1.9.1.js'></script>
<style>
#displaybox
{
z-index: 10000;
filter: alpha(opacity=100); /*older IE*/
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); /* IE */
-moz-opacity: 1; /*older Mozilla*/
-khtml-opacity: 1; /*older Safari*/
opacity: 1; /*supported by current Mozilla, Safari, and Opera*/
position: fixed;
top: 20px;
left: 0px;
width: 100%;
height: 100%;
color: #FFFFFF;
text-align: center;
vertical-align: middle;
}
body
{
font-family: Calibri;
}
.black_overlay
{
visibility: hidden;
position: absolute;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: black;
z-index: 1001;
-moz-opacity: 0.7;
opacity: .70;
filter: alpha(opacity=70);
}
</style>
<script>
function clicker() {
var thediv = document.getElementById('displaybox');
if (thediv.style.display == "none") {
thediv.style.display = "";
thediv.innerHTML = "<embed src='prohlidka.html' height='638' width='1024' ></embed>";
var thelay = document.getElementById('fade');
thelay.style.visibility = "visible";
} else {
thediv.style.display = "none";
thediv.innerHTML = '';
var thelay = document.getElementById('fade');
thelay.style.visibility = "hidden";
}
return false;
}
</script>
</head>
<body>
<div id="fade" class="black_overlay">
</div>
<div id="displaybox" style="display: none; overflow: visible">
</div>
<a id="otevrit" href='#' onclick='return clicker();'>Virtuální mapa</a>
</body>
那是我的代碼,一點點的css,一個函數和主體。 正如我所說,其他瀏覽器也可以正常工作。 他們通常向我確切地顯示innerhtml
。 但是Firefox不能,黑色覆蓋效果很好。 檢查javascript時沒有錯誤,沒有消息。
I'ts不是innerhtml
問題,它的<embed>
標記。 它不是打開網頁,而是打開視頻。 您應該嘗試使用<iframe>
類的東西。
您的代碼在mozilla firefox中正常運行。
我在這個小提琴中使用了它: WORKING FIDDLE,並添加了以下代碼: console.log($('#displaybox').html());
我得到的答案是: <embed src="https://www.google.com/" height="638" width="1024">
,這與我提供的相同輸入是正確的。
當我查看Firebug中的ID displaybox
時,我能夠看到嵌入在該ID中的embed
代碼。
因此,從技術上講代碼沒有問題,但是如果您想打開該頁面,那么logic
是wrong
。 您必須使用iframe src
而不是embed
來打開頁面。
我遇到了同樣的問題。 解決方案是,您可以使用.value而不是.innerHTML從Divs獲取值。 這將最適合您將使用的任何一種瀏覽器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.