Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.01.2018, 17:38
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Вывод большого текста.
Делаю Get запрос, приходит страница в тексте.
Ищу в ней строку через indexOf - не находит.
Хотя строка там есть.

Хочу проверить, а alert не полностью выводит текст.

Можно как-то по другому?

console.log(html)

Что-то не работает...
Ответить с цитированием
  #2 (permalink)  
Старый 10.01.2018, 17:42
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Ой, тупанул, там консоль приложения нужно было смотреть...
В русском тексте дело, вернее кодировке...
Ответить с цитированием
  #3 (permalink)  
Старый 10.01.2018, 17:50
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Мда, бред, бред, бред...

Не находит и всё...
Раньше всё работало, а теперь нет.

Можно как-то кодами вывести, или записать?
Ответить с цитированием
  #4 (permalink)  
Старый 10.01.2018, 18:52
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,588

Удалённая кодировка и кодировка страницы должна совпадать, либо должна быть указана в хедере при запросе.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 10.01.2018, 23:21
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

А как можно посмотреть, что мой браузер отправляет, при заходе на страницу?

Оно просто сразу же удаляется...
Ответить с цитированием
  #6 (permalink)  
Старый 10.01.2018, 23:34
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Всё дело в том, что раньше всё работало, а теперь перестало...

Ну вот, в оригинале нет ничего про кодировку:
Цитата:
General:
Request URL: http://домен/страница.php
Request Method: GET
Status Code: 200 OK
Remote Address: айпи:порт
Referrer Policy: no-referrer-when-downgrade

Response Headers:

HTTP/1.1 200 OK
Server: QRATOR
Date: Wed, 10 Jan 2018 20:25:25 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=15
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding

Request Headers:
GET /roulette.php HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive
Cookie: _ym_uid=187995685451; ...Ну и там дальше...
Host: Домен
Referer: http://домен/страница.php
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
Ответить с цитированием
  #7 (permalink)  
Старый 10.01.2018, 23:40
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

function GetHttpRequest(href) // Get запрос на url
{
	var xhr = new XMLHttpRequest()
	xhr.withCredentials = true
	xhr.onreadystatechange = function()
	{
		var xhr = this

		if(xhr.readyState != 4 || xhr.status != 200) return
		
		var html = xhr.responseText
		
		alert(html)
		console.log(html)
	}
	xhr.open('GET', href, true)
	xhr.send(null)
}
GetHttpRequest('https://javascript.ru/forum/misc/72129-vyvod-bolshogo-teksta.html')
Ответить с цитированием
  #8 (permalink)  
Старый 11.01.2018, 01:10
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Кодировку у скрипта поменял - заработало.
Но текст по прежнему кракозябрами отображается...
И только на том сайте...
Ответить с цитированием
  #9 (permalink)  
Старый 12.01.2018, 01:16
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Блин, вообще не удобно работать на 2х кодировках...
Мне из скрипта, что в ANSI нужно вернуть строку в UTF.
Поменял кодировку обратно на UTF, стал писать русский текст так:
\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD


Тоже не удобно, если нужно что-то изменить, надо лезть на сайт, кодировать, копировать, вставлять, подписывать, чтобы было понятно...

Может есть какая-нибудь функция, которая весь текст перекодирует в UTF?
Типа:
UrlEncodeData
Ответить с цитированием
  #10 (permalink)  
Старый 12.01.2018, 02:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,588

xhr.overrideMimeType('text/html; charset=windows-1251');
А вообще все файлы должны быть в одной кодировке. Всё остальное ересь и жопа может произойти в любой момент, даже если удалось заставить что-то работать.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как с помощью скрипта высчитать ширину полосы прокрутки? LADYX Элементы интерфейса 35 13.11.2017 12:50
Вывод текста в разных блоках Павел Хрушков jQuery 0 18.08.2012 06:45
Скрипты отправка сообщений между пользователями, скрипт вывод текста на страницу.... Rapala Элементы интерфейса 2 12.01.2011 17:27
Вывод текста по времени Madjahet Элементы интерфейса 15 14.04.2010 17:19
вывод нужного текста в текстовом поле при нажатии на кнопку! fifo4ka Общие вопросы Javascript 7 06.05.2008 13:36