Diskuze: Ajax eval script se souborem
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
A to jsi nasel googlem nebo vymyslel sam? V google bude tak 100.000 reseni, ohledne ajaxu.
http://www.javascriptkit.com/…iptcss.shtml
function loadjscssfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
loadjscssfile("myscript.js", "js") //dynamically load and add this .js file
loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file
loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file
Tohle se snažím načíst
<script type="text/javascript"
src="https://maps.google.com/maps/api/js?key=AIzaSyAytwrbiu=CENSORED=-DTHpbMYJbu66SvA"></script>
Takhle to vypadá
file = arr[n].getAttribute('src');
if (file) {
fileref = document.createElement('script');
fileref.setAttribute('type', 'text/javascript');
fileref.setAttribute('src', file);
document.getElementsByTagName("head")[0].appendChild(fileref);
} else {
eval(arr[n].innerHTML);
}
A takhle to dopadá
Uncaught ReferenceError: google is not defined
at eval (eval at zpracuj (scripts.js:159:21), <anonymous>:4:34)
at zpracuj (scripts.js:159:21)
at http_request.onreadystatechange (scripts.js:122:9)
Prostě se to (asi) neneačte?
Už nevím, kudy dál, děkuju za případnou pomoc ... :/
Co jsem ještě zkoušel, na stránce místo <script src=...> to udělat takto:
<script type="text/javascript">
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'https://maps.google.com/maps/api/js?key=AIz=CENSORED=C-G';
headID.appendChild(newScript);
</script>
Ale pak už to nejde nejen v ajaxu, ale při načtení stránky uplně zvlášt také ne.
Ajax by mel blokovat vsechny, co nenacitas s lokalniho serveru, preci.
S google nemam zkusenosti, ale takovyto zpusob nacitani muze blokovat. Zkus si
to na nejakem souboru na lokalnim serveru, nejdriv.
Ale, jestli ti na tom nesejde, tak to vpisuj pres innerHTML do DIVu nebo do iframu.
Dočasně jsem to vyřešil přes zobrazování přes frame, což je pro mě na prd, že musím data z toho tahat také napříč framy, což je trošku ojeb. Ale funguje to.
No, muzes tahat obsah pres php, treba, na lokalni server.
--- stahuj.php ---
<?php if (isset($_GET['url'])) echo file_get_content($_GET['url']); ?>
--- stranka.html --
<script>
... ajax('stahuj.php?url=seznam.cz', callback)
</script>
Ale, pak se s html neda rozumne pracovat. Jenom jako vypis na obrazovku. Pripadne opravit odkazum odkazy pro href, script a pod, doplnit tam puvodni domenu, pokud pouzivaji relativni cesty.
Zobrazeno 8 zpráv z 8.