Что нового

Клик по текстовой ссылке в Firefox содержащей кирилицу

-ZIG-ZAG-

Новичок
Сообщения
24
Репутация
1
Доброго времени суток!
Столкнулся с проблемой кодировки кирилицы в Firefox, когда вместо русских букв вылазят непонятные символы, перелопатил весь форум, нашел множетсво тем про кодировку, но не нашел ни одного работающего варианта.
Думаю мой пример многим облегчит работу с кирилицей.
Вот рабочий пример: Указываете текст ссылки на русском языке, и скрипт переходит по ней:

Вам нужно ввести в скрипте свой адрес страницы и текст ссылки на русском языке

Код:
[code]
#Include <FF.au3>
#Include <Array.au3>

Global $str_out
_FFConnect()
;_FFOpenURL("АДРЕС СТРАНИЦЫ С ССЫЛКОЙ")
If _FFIsConnected() Then
	$aLinks = _FFLinksGetAll()
else 
	exit 
EndIf

 recoding("ТЕКСТ ССЫЛКИ НА РУССКОМ ЯЗЫКЕ")
    
FF_LinkClick_ByText($str_out)

Func FF_LinkClick_ByText($sText)   
    Local $aLinks = _FFLinksGetAll()
    For $i = 0 To ((UBound($aLinks)) - 1) step 1       
        If $aLinks[$i][5] == $sText Then
              _FFLinkClick($i, "index")
            _FFLoadWait()          
		   Return 1
        EndIf
    Next
     Return 0
EndFunc

func recoding($str_in)
        for $i = 1 to stringlen($str_in)
$xdd=StringMid($str_in,$i,1)
  if NOT StringIsSpace($xdd) then 
   $str_out &= chr(Asc(StringMid($str_in,$i,1))-176)
EndIf
If StringIsSpace($xdd) Then
   $str_out &=" "
endif 
Next
return $str_out
EndFunc


Просьба не пинать за корявость кода( я только учусь да и это только заготовка, которую можно уже применить в любом месте для работы с кирилицей), а так же если тема создана не в соответствующем разделе, то перенести в нужный[/code]
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
{CodeWarn.SModer}
 

shakur

Осваивающий
Сообщения
76
Репутация
24
-ZIG-ZAG-
будет кликать по линку где одна кирилица, а если линк будет содержать знаки припинания или латинские буквы то увы не получится:smile:
думаю по такой ссылке клик не произойдет :scratch:
http://autoit-script.ru/index.php/topic,4680.msg34968.html#msg34968


Добавлено:
Сообщение автоматически объединено:

хотя :scratch:
Код:
func recoding($str_in)
 dim $xdd
 for $i = 1 to stringlen($str_in)
  $xdd=StringMid($str_in,$i,1)
 if $xdd >= "а" and $xdd <= "я" or $xdd >= "А" and $xdd <= "Я" then
  $str_out &= chr(Asc($xdd-176)
 else
   $str_out &= $str_in
endif
Next
return $str_out
EndFunc

так я думаю будет лучше 8)
 
Верх