Chciałbym programowo określić kodowanie strony za pomocą JavaScript lub innego API z przeglądarki. Powodem, dla którego chcę te informacje, jest to, że próbuję pomieszać główne przeglądarki na temat obsługiwanych przez nich kodowań znaków, i oczywiście dlatego, że wysłałem odpowiedni "typ zawartości", nie oznacza, że przeglądarka zrobi to, co trzeba z kodowaniem . Wszelkie inne możliwe metody byłyby mile widziane, ale wolałbym nie klikać "Informacje o stronie" dla ponad 50 kodowań znaków.Pobierz kodowanie strony/iframe przez JavaScript
Odpowiedz
Javascript może zgłaszać tylko niektóre z rzeczy, które się dzieje. Większość przeglądarek nie będzie udostępniać Ci wystarczająco przydatnych ustawień, abyś mógł oprzeć wszystkie testy hardcore.
Są rzeczy, takich jak document.inputEncoding
, document.characterSet
(bez IE) document.charset
i document.defaultCharset
(IE), który można dostać niektóre drogi tam. Ale mogą one być tak niestabilne, jak faktyczne wsparcie. Oznacza to, że jeśli przeglądarka "myśli" obsługuje kodowanie, ale tak naprawdę nie działa, czy nie jest to coś, co chcesz wiedzieć?
Myślę, że najlepiej jest skonfigurować dynamiczną stronę testową z dość trudnymi znakami (lub naprawdę dużym zestawem testowym), testem obciążenia w przeglądarce, mieć raport przeglądarki z powrotem ciąg id przeglądarki, ustawienia kodowania , oryginalne żądanie kodowania i zawartość testElement.innerHTML
, którą następnie można zweryfikować w oparciu o oczekiwane wyniki.
'document.characterSet' jest w najnowszej wersji IE (od IE 9). Jest całkowicie bezpieczny w użyciu, chyba że naprawdę potrzebujesz obsługiwać naprawdę stare przeglądarki. –
Oryginalna odpowiedź jest dość stara, a wsparcie dla document.characterSet
znacznie się poprawiło.
>>> document.characterSet
IE 11:
"utf-8"
Firefox 52, Chrome 55 i Chrome na Androida, Safari 10:
"UTF-8"
Więc wydaje się, że dla większości zastosowań można polegać na tej informacji , ustalanie różnych przypadków. W moim przypadku użyteczne było zebranie tych informacji do celów śledzenia.
- 1. Czy kodowanie pliku javascript przez Base62 jest złe?
- 2. HTML5 JavaScript Pobierz atrybut
- 3. JavaScript bookmarklet i URL kodowanie
- 4. Pobierz obraz z JavaScript
- 5. pobierz parameters.yml w javascript
- 6. JavaScript - pobierz klasę funkcji (metody)
- 7. JavaScript Pobierz wszystkie załadowane skrypty
- 8. Usterki Kodowanie ciągu C# do łańcucha JavaScript
- 9. kodowanie javascript i zamiana spacji na + symbole
- 10. Kodowanie obiektu JavaScript do łańcucha Json
- 11. Konwersja Ilość STRING (Kodowanie Dostarczany) JavaScript
- 12. jak zrobić kodowanie html przy użyciu javascript?
- 13. Kodowanie pliku PNG za pomocą JavaScript
- 14. Kodowanie apostrofa
- 15. Pobierz zawartość pliku laccdb przez VBA
- 16. pobierz ostatnie zdjęcie zrobione przez użytkownika
- 17. Pobierz bieżącą aktywną kartę przez JS.
- 18. Pobierz plik Excel przez AJAX MVC
- 19. Pobierz UINavigationController zdefiniowany przez storyboard z AppDelegate
- 20. Kodowanie UTF-8 Kodowanie rozmiaru:
- 21. Kodowanie zagnieżdżone Kodowanie zagnieżdżone modele
- 22. Pobierz wszystkie błędy javascript na obsługę błędów strony/javascript
- 23. Pobierz zaznaczony tekst opcji z JavaScript
- 24. Pobierz pełny rozmiar obrazu w javascript/jquery
- 25. Pobierz bazy danych MongoDB w tablicy JavaScript?
- 26. pobierz dane przesłanego pliku w javascript
- 27. Pobierz wartości z tabeli pól tekstowych javascript
- 28. pobierz linkedin Access Token z JavaScript SDK
- 29. Pobierz miesiąc w formacie mm w javascript
- 30. Pobierz plik przy użyciu kodu JavaScript
Dlaczego potrzebujesz tych informacji? Nie rozumiem, co cię kupuje? Uwaga, nawet obsługa kodowania nie oznacza zbyt wiele. Na przykład IE obsługuje zestawy znaków UTF-8 ... ale nie może renderować ton specjalnych znaków, które mogą mieć inne przeglądarki. Co zamierzasz zrobić z tymi danymi po ich zebraniu? – scunliffe
Jeśli masz błędy kodowania w formularzach, przydatne może być określenie, jakiego zestawu znaków używa przeglądarka. – joar