Czy document.write może generować <script>?

Jeśli tak to proszę o przykład bo potrzebuję tą instrukcją wygenerować skrypt o konstrukcji

można

document.write('

ewentualnie zamiast document.write budujesz/wstawiasz skrypt w oparciu o document.createElement

Tylko że taka konstrukcja nie spowoduje wykonanie się JS’a w ten sposób wstawionego. Nie jestem tego na 100% pewny wprawdzie, ale nie bez powodu np: jQuery ma specjalne funkcje do uruchamiania kodu JS wywołanego AJAXem, więc coś jest na rzeczy.

M@ster, spowoduje - a przynajmniej podczas testu jaki zrobiłem na localu spowodowało.

Co do niezawodności takiego rozwiązania nie potrafię nic powiedzieć, bo sam takich konstrukcji nigdy nie stosowałem.

…ale też spotkałem się z czymś takim w kilku skryptach z sieci, więc chyba musi działać w większości przypadków.

Ja sam nie jestem zwolennikiem takiego rozwiązania i już wolał bym dołączyć wspomnianym document.createElement, czy przy użyciu gotowej metody jquery. No ale pytanie było “czy może”, a nie “jak inaczej” :slight_smile:

adpawl to tą składnię musi wygenerować plik php, czy mógłbyś to jeszcze przepuścic przez echo ?

echo 'document.write(\'; [/code]

? Co tam kombinujesz. // edit: Eh, przekombinowałem i na szybko, bez sprawdzenia - źle. Widzę post niżej poprawione. Sorry.

echo 'document.write(\'

Ale to nie spełnia tego co chciałem, ja nie chce tworzyć skryptowego linka do innego skryptu tylko chce wygenerować już skrypt który bedzie w dokumencie HTML i bedzie działał, konkretnie funkcja.

to może zdecyduj się co właściwwie chcesz zrobić i czy przez document.wirte, czy przez php, czy przez jedno i drugie.

Przecież src nikt nie każe ci używać, równie dobrze treść skryptu możesz wstawić nie w zewnętrznym pliku a między tagami script

…tylko musisz wyeskejpować wewnętrzne apostrofy (lub zastąpić je jeśli to możliwe cudzysłowiem) czy w razie potrzeby slashe

np w php

<?php

echo '';

?>

a z poziomu js

przynajmniej jeśli o to ci chodziło.

chcesz skryptem js wygenerować skrypt js? Można wiedzieć po co? Nie możesz tej funkcji umieścić w pierwszym skrypcie? Jak masz treść kodu js do wykonania w stringu to użyj eval()

bo ja już mam zrobiony pliczek PHP który generuje instrukcje document.write ale tam jest czysty HTML gdy mu dodaję żeby wygenerował funkcję .js to wtedy nie działa, a wklejałem i próbowałem jak pokazywaliście