Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery.format] Działa po Chrome i IE(sic!), nie działa pod Fx
korro
post 15.09.2009, 11:50:30
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 42
Dołączył: 8.04.2005
Skąd: Mława

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


Witam.
Używam jQuery.format do dynamicznego budowania treści.
Wygląda to tak:
Szablon:
  1. <div id="links" style="display: none;">
  2. Stary link:<a href="{0}">{0}</a><br>
  3. Nowy link:<a href="{1}">{1}</a><br>
  4. Nowy link:<input name="shorted" id="shorted" class="select" value="{1}"><br>
  5. Nowy link:<a href="{2}">{2}</a><br>
  6. Nowy link:<input name="shorted2" id="shorted2" class="select" value="{2}">
  7. </div>

Wywołanie w JS:
  1. var ajaxOutput = jQuery.format($("#links").html());
  2. var first = "http://" + data + ".<?=$_SERVER["SERVER_NAME"]?>";
  3. var second = "http://<?=$_SERVER["SERVER_NAME"]?>/" + data;
  4. $("#utnij").html(ajaxOutput(longLink,first,second));

Wynik pod FX:
  1. <div id="utnij" align="center" style="opacity: 1;">
  2. Stary link:
  3. <a href="%7B0%7D">http://wp.pl</a>
  4. <br/>
  5. Nowy link:
  6. <a href="%7B1%7D">http://2h.localhost</a>
  7. <br/>
  8. Nowy link:
  9. <input id="shorted" class="select" value="http://2h.localhost" name="shorted"/>
  10. <br/>
  11. Nowy link:
  12. <a href="%7B2%7D">http://localhost/2h</a>
  13. <br/>
  14. Nowy link:
  15. <input id="shorted2" class="select" value="http://localhost/2h" name="shorted2"/>
  16. </div>

Jak widać w href'ach powinno być to samo, to w tekście linka.
W tym przypadku w href jest: "%7B0%7D" czyli {0}.

jQuery nie wszędzie w miejsce {x} podstawia parametr.

Czy to może być spowodowane?
Macie jakiś pomysł?
Z góry dziękuję.


Doszedłem.
Firefox domyślnie encoduje znaki które są url'em w treści strony, stąd parser nie znajdował { i }.
Rozwiązaniem było dopisanie linijki kodu do biblioteki jquery.validate.js.


Ten post edytował korro 15.09.2009, 11:51:25


--------------------
Go to the top of the page
+Quote Post
phpion
post 15.09.2009, 14:50:27
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(korro @ 15.09.2009, 12:50:30 ) *
Doszedłem.
Firefox domyślnie encoduje znaki które są url'em w treści strony, stąd parser nie znajdował { i }.
Rozwiązaniem było dopisanie linijki kodu do biblioteki jquery.validate.js.

Fajnie, ale może uchyliłbyś rąbka tajemnicy i podał tą magiczną linijkę? Informacja, że Tobie się udało może być dla kogoś stosunkowo mało pomocna.

winksmiley.jpg
Go to the top of the page
+Quote Post
korro
post 15.09.2009, 18:56:57
Post #3





Grupa: Zarejestrowani
Postów: 259
Pomógł: 42
Dołączył: 8.04.2005
Skąd: Mława

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


Fakt. Sam piętnuję takie zachowanie na forum, a teraz dostałem jakiegoś zaćmienia.
Oryginalny kod:
Kod
$.each(params, function(i, n) {
        source = source.replace(new RegExp("\\{" + i + "\\}", "g"), n);    
    });

działający:
Kod
$.each(params, function(i, n) {
        source = source.replace(new RegExp("\\{" + i + "\\}", "g"), n);    
        source = source.replace(new RegExp("\\%7B" + i + "\\%7D", "g"), n);
    });

linia 195.


--------------------
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: 24.07.2025 - 14:33