ich eine Website, die jQuery und SWFObject darauf laufenden hat. Wenn die Seite geladen wird, legt sie ein Zeitlimit von 2 Sekunden fest und löst dann eine SWFObject-Instanz aus, um einen Film zu laden. Wenn der Film beendet ist, ruft der Player zurück zu JS, um einen weiteren Film auszulösen. Der andere Film lädt gut und spielt. Wenn das Abspielen beendet ist, soll der zweite Film ebenfalls einen weiteren Rückruf auslösen, tut dies aber nicht. Ich denke, das Problem ist, dass beim zweiten Film-Init das vorherige Element gelöscht und zurückgesetzt werden soll, damit SWFObject es wiederverwenden kann, und obwohl dies im DOM passiert, verwendet SWFObject das Element nicht erneut . Ich denke, das liegt daran, dass jQuery das Element irgendwie immer noch enthält, obwohl es aus dem DOM entfernt wurde, was den IE verwirft, wenn SWFObject versucht, es wiederzuverwenden.JQuery (vielleicht SWFObject) nicht zu tun, was es in IE angenommen hat 7.0.5730.13 oder 8.0.6001.18702 oder 8.0.7100.0, sondern arbeitet in 7.0.5730.11
Ich füge meinen Code an, also könnte jemand möglicherweise herausfinden, wo es nicht funktioniert, oder wenn jemand einen Vorschlag hat, wie man jQuery dazu bringt, das Element sowohl vom DOM als auch vom jQuery-Objekt zu löschen.
Der Code könnte ein wenig unorganisiert erscheinen, aber dies ist mein erstes Mal auf Stack Overflow veröffentlichen, so dass ich weiß nicht, wie es zu bekommen alle den Code schreiben richtig formatierte ...
Vielen Dank im Voraus !
var Shadow;
var ActorWrapper, VideoWrapper;
var Actor, Video;
var Navigation;
var Flash, Random;
var t;
$(document).ready(function() {
if (jQuery.browser.msie && jQuery.browser.version <= 6) {
$(".Body").supersleight();
};
t = window.setTimeout(function() {
window.clearTimeout(t);
Flash = $("#Flash");
if (Boolean(Flash.val())) {
Shadow = $("#Shadow");
ActorWrapper = $("#ActorWrapper");
Actor = $("#Actor");
VideoWrapper = $("#VideoWrapper");
Video = $("#Video");
Random = $("#Random");
Navigation = $(".Navigation");
VideoWrapper.css({
left: parseInt(($(document).width() - 400)/2),
top: parseInt(($(window).height() - 300)/2)
});
IncomingActor();
};
}, 2000);
});
var IncomingActor = function() {
ActorWrapper.css({
display: "block",
height: 325,
left: parseInt((($(window).width() - 714)/2) - 46),
width: 180
});
swfobject.embedSWF("/Resources/Flash/Player.swf", "Actor", "180", "325", "9", null, {
Path: "Amy-1.flv",
Callback: "Vid",
Buffer: 2,
Width: 180,
Height: 325
}, {
play: true,
loop: false,
quality: "best",
wmode: "transparent",
swliveconnect: true,
allowscriptaccess: "always"
});
Navigation.css({
textAlign: "right"
});
};
var Vid = function() {
$("#Actor").remove();
$("#ActorWrapper").html("<div id=\"Actor\"></div>");
VideoWrapper.css({
display: "block"
});
Shadow.css({
display: "block",
height: $(document).height(),
width: $(document).width()
}).animate({
opacity: 0.6
}, 1000).click(function() {
VideoWrapper.animate({
opacity: 0
}, 500);
t = window.setTimeout(function() {
window.clearTimeout(t);
VideoWrapper.css({
display: "none"
});
Shadow.animate({
opacity: 0
}, 500);
t = window.setTimeout(function() {
window.clearTimeout(t);
Shadow.css({
display: "none"
});
}, 500);
}, 500);
});
swfobject.embedSWF("/Resources/Flash/Player.swf", "Video", "400", "300", "9", null, {
Path: (Random.val() + ".flv"),
Callback: "OutgoingActor",
Buffer: 2,
Width: 400,
Height: 300
}, {
play: true,
loop: false,
quality: "best",
wmode: "transparent",
swliveconnect: true,
allowscriptaccess: "always"
});
VideoWrapper.animate({
opacity: 1
});
Navigation.css({
textAlign: "center"
});
};
var OutgoingActor = function() {
ActorWrapper.css({
left: (parseInt(ActorWrapper.css("left")) + 10)
});
VideoWrapper.animate({
opacity: 0
}, 500);
t = window.setTimeout(function() {
window.clearTimeout(t);
VideoWrapper.css({
display: "none"
});
Shadow.animate({
opacity: 0
}, 500);
t = window.setTimeout(function() {
window.clearTimeout(t);
Shadow.css({
display: "none"
});
}, 500);
}, 500);
swfobject.embedSWF("/Resources/Flash/Player.swf", "Actor", "180", "325", "9", null, {
Path: "Amy-2.flv",
Callback: "RemoveOutgoingActor",
Buffer: 2,
Width: 180,
Height: 325
}, {
play: true,
loop: false,
quality: "best",
wmode: "transparent",
swliveconnect: true,
allowscriptaccess: "always"
});
Navigation.css({
textAlign: "right"
});
};