Получение URL и Title
Может конечно очень глупый вопрос :) Но вот второй день мучаюсь...
Для получения URL'a страницы, можно воспользоваться параметром window.history.current. НО почему то только в опере он работает нормально... ФФ пишет ошибку "uncaught exception: Permission denied to get property History.current". IE тоже с ошибкой скрипта выскакивает... В чем может быть проблема? или есть альтернативный способ определение? нужен чистый JS. И по поводу Title. Я отправляю его знаечение на мыло(в заголовке сообщения). Получаю его через document.title. Но на мыло не всегда приходит в нормальной кодировки... Т.е. есть разные страницы с разной кодировкой. И иногда приоходят карагозябры. Как сделать универсальное отправление? я отправляю этот title на страницу (PHP) и там уже идет генерация и отправки письма. я думаю надо на этом этапе определить кодировку, и если не подходит. Перевести. Как вы думаете? |
Первый пункт решается, если я вас правильно понял, так: location.href
По второму пункту: лучше перекодировку делать средствами php. |
Цитата:
Можно кодировать на стороне клиента. Следующая функция заэскейпит строку в windows-1251 String.prototype.escape = function() { var trans = []; for (var i = 0x410; i <= 0x44F; i++) trans[i] = i - 0x350; trans[0x401] = 0xA8; trans[0x451] = 0xB8; var ret = []; for (var i = 0; i < this.length; i++) { var n = this.charCodeAt(i); if (typeof trans[n] != 'undefined') n = trans[n]; if (n <= 0xFF) ret.push(n); } return escape(String.fromCharCode.apply(null, ret)); }; |
C URL что то я прогнал :) спасибо :)
С кодировкой сейчас буду тестить и разбираться :) |
На стороне клиента не получится. Просто у меня получается мой скрипт встраивается в страницу в интернете(в любую страницу) и при запуске его. Происходит отправка на мой скрипт URL этой страницы и ее Title.
Потом моя страница отправляет этот Title мне на мыло. И вот тут выскакивает проблема с кодировкой. Если страница в windows-1251,то приходит нормально. Если в UTF-8. В заголовке письма приходят карагозябыр. Как сделать перекодировку на стороне сервера? Т.е. на моей php странице, которая получает от скрипта данные. |
Phoenix, вот здесь у меня все скрипты встраиваются в чужие страницы, в частности закладка "Статистика слов" отправляет на сервер слова для морфологического разбора. Вроде все работает.
|
Вот это мне и нужно. я делаю подобную вещь... сейчас кину код, что бы было понятно, что к чему.
<? $url="http://".$_SERVER['SERVER_NAME']."".$_SERVER['REQUEST_URI']; $iden="12345"; echo($url); ?> <a href='javascript:(function(){ var s=document.createElement("script"); s.charset="windows-1251"; s.language="javascript"; s.type="text/javascript"; var d=new Date; var inf=prompt("Введите описание ссылки", ""); s.src="<?echo($url)?>get.php?surl="+document.location.href+"&stitle="+ +document.title+"&siden=<?echo($iden)?>&sinf="+inf; document.body.appendChild(s)})();' return false>[Добавить URL в базу]</a> А страница get.php отправляет на мыло заголовок и введеный в алерт текст. Но если страница в кодировке wim-1251, то все идеально. Если в UTF-8, то карагозябры... как это можно обойти? как я понял, это уже надо на странице get.php делать? |
Конвертируй в зависимости от кодировки через функцию iconv. Только я не знаю как тут лучше определить в правильной кодировке пришло сообщение или нет...
|
Часовой пояс GMT +3, время: 22:39. |