Everest2

Рейтинг
53
Регистрация
22.05.2012

<script type="text/javascript"> 

fileurlpp = 'domain:main-server1.alcoprog.ru' ;
fileurlpp = s = s.replace('domain:', '');
$('.link').html('<a href="http://&url='+fileurlpp+'></a>');
</script>

так? но не работает.

---------- Добавлено 26.04.2014 в 12:46 ----------

Разобрался. Всем спасибо)

Вот, к чему пришел.


var s = "domain:main-server1.alcoprog.ru";

// Replace "domain:" with "".
var re = /domain:/g;
var result = s.replace(re, "");
document.write(result);
// Output: main-server1.alcoprog.ru

А как его с моим связать?

Никак, строка "domain:main-server1.alcoprog.ru" импортируется средствами cms из удаленного сервера (.txt).

Есть два сайта (около 1000 хостов каждый), 70% трафика - Россия. Сайты - один софт портал, второй - торрент.

Посоветуйте, пожалуйста, ПП, чтобы можно было без проблем получать до 200р с сайта, можно и больше =)

siv1987, суть такова, мне нужно сделать так, чтобы пользователь скачивал файлы на новой (отдельной странице).

Есть такие данные url, title, size - мне нужно, чтобы я их мог отобразить на новой (отдельной странице).

При этом, мне нужно, чтобы url был закодирован, который ведёт на новую (отдельную страницу).

Вот так я кодировал

 <script type="text/javascript"> 
fileurl = '$FILE_URL$' ;
fileurl = Base64.encode(fileurl);
filetitle = '$ENTRY_TITLE$' ;
filetitle = Base64.encode(filetitle);
filesize = '$FILE_SIZE$' ;
filesize = Base64.encode(filesize);
$('.go-link').html('<a href="/download.htm?link='+fileurl+'&title='+filetitle+'&size='+filesize+'" target="_blank">Скачать</a>');
</script>

siv1987, не подскажите как закодировать тогда это в urlencode

/download.html?link='+fileurl+'&title='+filetitle+'&size='+filesize+'

А потом, получить текст, аналогично как тут:

document.write('<a href='+base64_decode(urlParams['link'])+'>'+base64_decode(urlParams['title'])+'</a>');

А то, я ничего не могу понять в JS, буду благодарен.

siv1987, не посоветуете что лучше использовать?

siv1987, спасибо огромное) работает)

Еще один вопрос, а как быть с русскими символами? Они декодируются неправильно.

Вот, что у меня получилось. Но оно не работает(

<html>
<head>
<script>
function base64_decode(data) {
var i = 0;
var keyChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var resultStr = "";
var charCd1, charCd2, charCd3;
var charEnc1, charEnc2, charEnc3, charEnc4;

data = data.replace(/[^A-Za-z0-9\+\/\=]/g, "");

while (i < data.length) {
charEnc1 = keyChars.indexOf(data.charAt(i++));
charEnc2 = keyChars.indexOf(data.charAt(i++));
charEnc3 = keyChars.indexOf(data.charAt(i++));
charEnc4 = keyChars.indexOf(data.charAt(i++));

charCd1 = (charEnc1 << 2) | (charEnc2 >> 4);
charCd2 = ((charEnc2 & 15) << 4) | (charEnc3 >> 2);
charCd3 = ((charEnc3 & 3) << 6) | charEnc4;

resultStr += String.fromCharCode(charCd1);

if (charEnc3 != 64) {
resultStr += String.fromCharCode(charCd2);
}

if (charEnc4 != 64) {
resultStr += String.fromCharCode(charCd3);
}
}

return resultStr;
}
</script>
<script language="JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js" type="text/javascript"></script>
</head>
<body>



<script type="text/javascript">
var urlParams;
(window.onpopstate = function () {
var match,
pl = /\+/g, // Regex for replacing addition symbol with a space
search = /([^&=]+)=?([^&]*)/g,
decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
query = window.location.search.substring(1);

urlParams = {};
while (match = search.exec(query))
urlParams[decode(match[1])] = decode(match[2]);
})();
</script>

<script>
alert(decode_base64(urlParams['link']));
</script>

<span class="download">
<script type="text/javascript">
function ono(name)
{
var start=location.search.indexOf("?"+name+"=");
if (start<0) start=location.search.indexOf("&"+name+"=");
if (start<0) return '';
start += name.length+2;
var end=location.search.indexOf("&",start)-1;
if (end<0) end=location.search.length;
var go='';
for(var i=start;i<=end;i++)
{
var c=location.search.charAt(i);
go=go+(c=='+'?' ':c);
}
return unescape(go);
}
{
document.write('<a href='+ono('link')+'>'+ono('title')+'</a>');
document.write('');
}
</script>
</span>
</body>
</html>

Первая часть.

<script type="text/javascript">
var urlParams;
(window.onpopstate = function () {
var match,
pl = /\+/g, // Regex for replacing addition symbol with a space
search = /([^&=]+)=?([^&]*)/g,
decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
query = window.location.search.substring(1);

urlParams = {};
while (match = search.exec(query))
urlParams[decode(match[1])] = decode(match[2]);
})();
</script>
<script>
urlParams = {
link: " Hello ",
title: "main",
size: "front",
sid: "de8d49b78a85a322c4155015fdce22c4",
empty: ""
}

alert(urlParams["mode"]);
alert("empty" in urlParams);
</script>

Вторая часть.


<script type="text/javascript">
function ono(name)
{
var start=location.search.indexOf("?"+name+"=");
if (start<0) start=location.search.indexOf("&"+name+"=");
if (start<0) return '';
start += name.length+2;
var end=location.search.indexOf("&",start)-1;
if (end<0) end=location.search.length;
var go='';
for(var i=start;i<=end;i++)
{
var c=location.search.charAt(i);
go=go+(c=='+'?' ':c);
}
return unescape(go);
}
{
document.write('<a href='+ono('link')+'>'+ono('title')+'</a>');
document.write('');
}
</script>

Вот вторую часть я вроде бы создал, она работает, а как связать с первой, которая декодирует код?

Всего: 112