![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 14 Dołączył: 27.03.2004 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam mały problem i najprawdopodobniej jest to banał. Mianowicie gdy tworzę zewnetrzny plik js poprzez utworzenie tagu <script> w DOMie i wywoluję zawartą w nim funkcje uzyskuję komunikat ReferenceError: user is not defined. natomiast jeśli załaduję klasycznie w htmlu ten sam plik wszystko działa bez problemu.
iframe.js w wielkim uproszczeniu
Ten post edytował SaMi 30.12.2013, 10:30:00 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 205 Pomógł: 43 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Odpowiedź kryje się w tej całej ceregieli, którą wykonujesz żeby oszczędzić globalną przestrzeń nazw.
Zmienna "user" to zmienna lokalna anonimowej funkcji w iframe.js. Domyślam się, ze chciałeś przesłać do tej funkcji zmienną window (po literce "w" w argumencie) i tam przypisać ją w następujący sposób na końcu:
Poza tym, po co takie kombinacje? Po co do funkcji anonimowej przesyłać zmienną document, skoro to zmienna globalna zawsze widoczna w każdym zasięgu? Przerost formy nad treścią. Proponowałbym zacząć od importowania skryptów zwykłym znacznikiem <script> , a potem interesować się jakimis tam formami usprawniania tego procesu. Sprawdziłbym jeszcze czy nie lepiej byłoby użyć append zamiast insertBefore. Tutaj specjalistą nie jestem jednak myślę, że problemem może być to, że skrypty są zaimportowane w złej kolejności. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 01:52 |