Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dynamiczne dołączanie skryptów + Opera
sennin
post 5.04.2008, 13:00:09
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 8.03.2007

Ostrzeżenie: (0%)
-----


Mam taką klasę (korzystam z prototype):

Addons = Class.create();

Addons.prototype = {
initialize: function(){},

require: function(libraryName) {
try {
var script_tag = new Element('script',{
type: 'text/javascript',
src: libraryName
});
$$("head")[0].appendChild(script_tag);
} catch(e){
// inserting via DOM fails in Safari 2.0, so brute force approach
document.write('<script type="text/javascript" src="' + libraryName + '"></script>');
}
}
}

I używam jej w sposób następujący:

Engage = new Addons();

var include = $w('global/functions main_menu/functions components');
var path = '../../scripts/';

include.each(function(file){
Engage.require(path + file + '.js');
});

w global/functions.js znowu dynamicznie dołączam kilka plików, tworząc swoistą rekurencję, wszystkie przeglądarki sobie z tym radzą (tak, nawet IE6) z wyjątkiem Opery i to w wersji bodajże ostatniej (9.26). Problem jest takiej natury, że tablice include i path są nadpisywane w każdym nowym rekurencyjnym wywołaniu, dlatego dołącza tylko kilka plików, bo reszte zamazuje. Dziwne zachowanie Opery. Miał ktoś podobny problem?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 21:39