IE6 nicht Object-Element mit getElementById finden ()?
-
22-07-2019 - |
Frage
Ich versuche, ein Objekt Element, das aus meiner Webseite zu bekommen mit getElementById (letztlich so kann ich ersetzen Sie es mit einem dynamisch Objektelement erstellt), aber es kehrt null
in IE6.
Im folgenden Code, die byId()
Funktion gibt null
in IE aber ein [object HTMLObjectElement]
in Firefox 3 und die lengthOfByTagName()
Funktion gibt 0
in IE aber 1
in Firefox.
Gibt es etwas, was ich falsch mache?
<html>
<head>
<title>IE doesn't see Object element?</title>
<script type="text/javascript">
function byId()
{
var video = document.getElementById("VideoPlayer");
alert(video);
}
function lengthOfByTagName()
{
var length = document.getElementsByTagName("object").length;
alert(length);
}
</script>
</head>
<body>
<object type="" id="VideoPlayer">
<param name="allowScriptAcess" value="always" />
<param name="allowfullscreen" value="true" />
VideoPlayer element
</object>
<br>
<br>
<a href="#" onclick="javascript:byId()">getElementById("VideoPlayer")</a>
<br>
<a href="#" onclick="javascript:lengthOfByTagName()">getElementsByTagName("object").length</a>
</body>
</html>
Lösung
Dies ist wegen der Art und Weise IE behandelt
Da bist du dynamisch sowieso ersetzt empfehle ich Ihnen eine Stelle schaffen
Andere Tipps
Ich habe gerade auf IE 7 getestet und das Verhalten gesehen, wie
Internet Explorer geht nicht davon aus freiem Text in einem <object>
-Tag. Mit DebugBar auf Dich Probst prooved dass IE den richtigen DOM-Baum nicht bauen.
Verwenden Sie diesen Code stattdessen
<object type="" id="VideoPlayer">
<param name="allowScriptAcess" value="always" />
<param name="allowfullscreen" value="true" />
</object>
Es wird wie erwartet.
In IE6 kann es nicht funktionieren. Für verweisen: https://msdn.microsoft.com/en-us/library/ie/ms536437%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 Magazin
Vorschlagen mit jQuery die meisten der Fälle behandeln
jQuery
var video = $("#VideoPlayer");
alert(video);
Versuchen Sie dies in Ihrer Codierung.