2011-10-18 16 views
7

jakie jest znaczenie hash (#) tu, jak to się odnosi do pliku .js:Co oznacza skrót (#) po pliku .js?

<script src="foo.js#bar=1"></script> 
+3

Gdzie to widziałeś? Zazwyczaj ciąg zapytania (np. 'Foo.js? 123) jest używany jako" przerywacz pamięci podręcznej ". Hash prawdopodobnie nie powinien wpływać na buforowanie. –

+0

@Ates Goral kontekst: przycisk umieszczania przycisku na facebooku //connect.facebook.net/en_US/all.js#xfbml=1 – jsj

+0

Wygląda na to, że Facebook wysyła niektóre parametry. Może w all.js dostają ten parametr i używają go. – Krasimir

Odpowiedz

4

Skrót po skrypcie jest używany przez wbudowany skrypt do konfiguracji. Na przykład, ma wygląd w podanym przykładzie (NAS)

1. window.setTimeout(function() { 
2. var a = /(connect.facebook.net|facebook.com\/assets.php).*?#(.*)/; 
3. FB.Array.forEach(document.getElementsByTagName('script'), function (d) { 
4.  if (d.src) { 
5.   var b = a.exec(d.src); //RegExp.exec on the SRC attribute 
6.   if (b) { 
7.    var c = FB.QS.decode(b[2]); //Gets the information at the hash 
8.    ... 

W skrypcie co <script> znacznik linia 3 jest testowane pod kątem występowania linii 5 z mieszania linia 2 w atrybucie . Następnie, jeżeli mieszania istnieje linii 6 The hashdata ekstrahuje linia 7 i kontynuuje działanie.

2

Jest prawdopodobnie używane w wymienionej .js odczytu pliku raw URL i wydobycia parametr (przy użyciu coś na przykład window.location i analizowanie tego, co jest po #).

3

Nie robię nic, jeśli chodzi o ładowanie skryptu. Zgaduję, że sam skrypt szuka własnego znacznika skryptu i wybiera fragment po ha ha (bar = 1) i używa go do jakośszego skonfigurowania jego zachowania. Aby to zrobić, prawdopodobnie muszą przechodzić przez wszystkie znaczniki skryptów i dopasowywać je do atrybutu src.

0

Część po hash w adresie URL jest znany jako fragment identifier. Jeśli jest obecny, określa część lub pozycję w całym zasobie lub dokumencie. W przypadku korzystania z protokołu HTTP zwykle określa sekcję lub lokalizację na stronie, a przeglądarka może przewinąć, aby wyświetlić tę część strony.

W stosunku do pliku JavaScript, autor programu jest według wszelkiego prawdopodobieństwa, używając go jako sposób przekazywać argumenty do pliku. Jednak tej metody nie należy stosować. Adresy URL mogą zawierać query strings, które służą temu samemu celowi.

Mimo to nigdy nie warto wstawiać argumentów do adresu URL pliku JavaScript, ponieważ dla każdego innego zestawu parametrów adres URL jest ponownie buforowany, co jest stratą pamięci. Zamiast tego lepiej ustawić ciąg zapytania na URL strony HTML, która zawiera sam skrypt. Wynika to z faktu, że JavaScript ma wbudowaną właściwość umożliwiającą dostęp do ciągu zapytania strony internetowej: location.search. Możesz przeczytać więcej na ten temat here.