Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   не работает скрипт как ссылка (https://javascript.ru/forum/jquery/17598-ne-rabotaet-skript-kak-ssylka.html)

Abraham 25.05.2011 18:22

не работает скрипт как ссылка
 
Скрипт не работает как ссылка, почему то обрезается, при наведении и получается так:
javascript:window.location="game.php?village=n"



исходник
понятно что дело в кавычках, но в каких?

var wyDiv = ('<a href=javascript:window.location="game.php?village=n" + window.game_data.village.id + "&screen=place">tyt</a>');


если его добавить в браузер как закладку, то работает

walik 25.05.2011 18:24

Значение атрибута href тоже в кавычки брать надо.
Попробуйте так:
var wyDiv = ('<a href="javascript:window.location=\"game.php?village=n\" + window.game_data.village.id + \"&screen=place\" ">tyt</a>');

Abraham 25.05.2011 18:26

так ещё короче стало
javascript:window.location=

walik 25.05.2011 18:30

Я если честно хз как экранировать кавычки, как то не приходится особенно.
А что мешает так сделать:
<script>
function go() {
     window.location= "game.php?village=n" + window.game_data.village.id + "&screen=place";
}
</script>
var wyDiv = ('<a href="javascript:go();">tyt</a>');

?

Abraham 25.05.2011 18:38

чё то вобще короче стало
javascript:go();


может я что не так делаю???

$(document).ready(function() {

function go() {
     window.location= "game.php?village=n" + window.game_data.village.id + "&screen=place";
}
var wyDiv = ('<a href="javascript:go();">tyt</a>');
$('#menu_row2_map').after(wyDiv);
});

Abraham 26.05.2011 18:43

Профессоры вы где?

walik 26.05.2011 21:12

Цитата:

Сообщение от Abraham
чё то вобще короче стало
javascript:go();

Все правильно, так и должно быть, при клике на ссылку вызывается функция go(); которая и делает перенаправление. Что не так ?

Abraham 28.05.2011 01:44

не работает скрипт
скрипт рабочий 100%
но как ссыль не пашет

chosen 28.05.2011 09:46

а что если попробывать вообще непользоватся href`ом
$(document).ready(function() {
     var wyDiv = ('<a href="javascript: void(0);">tyt</a>');
     $("#menu_row2_map").after(wyDiv);
     wyDiv.bind("click", function(event) {
          window.location= "game.php?village = n" + window.game_data.village.id + "&screen=place";
          event.preventDefault();
     });
});

walik 28.05.2011 09:58

<script>
function go() {
   location.href = "blablabla.php";
}
</script>
<a href="#" onclick="go(); return false;">Click</a>

Abraham 31.05.2011 14:07

не работает не один из вариантов ((
ещё есть предложения?

walik 31.05.2011 14:35

Что не работает ? мой предыдущий пример работает, при клике на ссылку, запускается функция.

Вы бы хоть нормальный пример кода показали бы где у вас не работает.

Abraham 01.06.2011 04:00

ваша версия
function go() {
   location.href = "game.php?village=n" + window.game_data.village.id + "&screen=place";
}
var wyDiv = ('<a href="#" onclick="go(); return false;">Click</a>');
$('#menu_row2_map').after(wyDiv);


кнопка-ссылка есть, но не фунцыклирует ((

x-yuri 01.06.2011 08:42

Цитата:

Сообщение от Abraham
не фунцыклирует ((

1) что делает скрипт?
2) какие ошибки возникают?
3) откуда берется window.game_data.village.id?
4) куда вы вставляете этот код?

Abraham 01.06.2011 17:13

1) переход с одной страницы на другую
2) ошибок нет
3) из адресной строки скорей всего
4) в пользовательский скрипт хочу вставить

если в закладки браузера её добавить в таком виде
javascript:window.location="game.php?village=n" + window.game_data.village.id + "&screen=place"


то она работает

x-yuri 01.06.2011 22:22

про пользовательский скрипт сразу стоило сказать. Скорее всего пользовательский скрипт почему-то не может получить доступ к window.game_data.village.id. Сравни url страницы, куда переходит браузер, с использованием закладок и пользовательского скрипта

Abraham 04.06.2011 21:11

страницы и ссылки одинаковые

Abraham 13.06.2011 16:03

Цитата:

Сообщение от walik (Сообщение 106419)
<script>
function go() {
   location.href = "blablabla.php";
}
</script>
<a href="#" onclick="go(); return false;">Click</a>

да не пашет он, получается переход по ссылке "#"

вот, при клике я должен перейти на гугл, но этого не происходит
<script>
function go() {
   location.href = "google.ru";
}
</script>
<a href="#" onclick="go(); return false;">Click</a>

melky 13.06.2011 16:55

Цитата:

Сообщение от Abraham (Сообщение 106990)
javascript:*!*window.location*/!*="game.php?village=n" + window.game_data.village.id + "&screen=place"

опа, оливье!!! ошибок нету, говорит

alert( typeof window.location)

а что это?
alert( typeof window.location.href)


я сталкивался с этим, когда ВК дурить пытался :)

так должно работать
javascript:*!*window.location.href*/!*="game.php?village=n" + window.game_data.village.id + "&screen=place"

Abraham 13.06.2011 17:09

в таком виде не пашет

$(document).ready(function() {

var wyDiv = ('<a href="javascript:window.location.href="game.php?village=n" + window.game_data.village.id + "&screen=place"">tyt</a>');
$('#menu_row2_map').after(wyDiv);
});


вобще как из переменной в которой много других переменных сделать ссылку?

melky 13.06.2011 19:22

<body><b>Кликни на ссылку ----></b></body>

<script>


var a = document.createElement('a');

a.href = "javascript:window.location.href='http://google.ru/'"

a.innerHTML = 'tyt'


document.body.appendChild(a)

</script>

Abraham 13.06.2011 19:56

это дело всё равно туда не лезет


javascript:window.location="game.php?village=n" + window.game_data.village.id + "&screen=place"

melky 13.06.2011 20:42

залейте ЭТО сюда

через


[HTML run]

    ваш код....

[/HTML]

вместе с переменными.

чтобы можно его было запустить и посмотреть,что не так.

Abraham 13.06.2011 21:37

<script>
$(document).ready(function() {
var wyDiv = ('<a href="javascript:window.location.href="game.php?village=n" + window.game_data.village.id + "&screen=place"">tyt</a>');
$('#menu_row2_map').after(wyDiv);
});
<td id="menu_row2_map" class="box-item firstcell">блабла</td>
</script>

как то так

это пользовательский скрипт
ссылка tyt появляется, но не фунциклирует

melky 13.06.2011 21:46

аа

значит HREF корявый

wyDiv = ('<a href="javascript:window.location.href=*!*"*/!*game.php?village=n*!*"*/!* + window.game_data.village.id + *!*"*/!*&screen=place*!*"*/!*">tyt</a>');


с кавычками не накосячили???

накосячили


wyDiv = ('<a href="javascript:window.location.href=\'game.php?village=' + window.game_data.village.id + '&screen=place\'">tyt</a>');

Abraham 13.06.2011 22:09

Сделал чтоб было видно на этом форуме



$(document).ready(function() {
var wyDiv = (' <a href="javascript:window.location.href="game.php?village=n" + window.game_data.village.id + "&screen=place"">tyt</a>');
          //('<a href="javascript:window.location.href=\'game.php?village=' + window.game_data.village.id + '&screen=place\'">tyt</a>')
$('.vbmenu_control a[href*=forum]').after(wyDiv);
});


посое вставления твоей версии пропадает кнопка tyt

melky 13.06.2011 22:21

нажми на ссылку и посмотри URL во фрейме

<body></body>

<script>

var o = 534;

document.body.innerHTML = 

'<a href="javascript:window.location.href=\'/game.php?village=' + o + '&screen=place\'">tyt</a>'

</script>


Цитата:

testbin.ru/game.php?village=534&screen=place
я тебя убедил ? :)

Abraham 13.06.2011 22:43

убедил, красава
с твоей переменной работает с моей + window.game_data.village.id +, не хочет
а вобще красава

melky 13.06.2011 23:03

ну так это уже не я :)

вместо window.game_data пиши window["game_data"]
<body></body>

<script>
window['game_data'] = {}

window['game_data'].village = {}

window['game_data'].village.id = 87987987987;

document.body.innerHTML = 

'<a href="javascript:window.location.href=\'/game.php?village=' + window['game_data'].village.id  + '&screen=place\'">tyt</a>'

</script>

Abraham 13.06.2011 23:31

нет эффекта
+ window.game_data.village.id + - что вобще делает и откуда берётся?

melky 13.06.2011 23:34

хороший вопрос :lol:

это может быть числом деревни.

Abraham 14.06.2011 03:04

если это вставить в загладки браузера и нажать от туда то задача выполняется
javascript:window.location="game.php?village=n" + window.game_data.village.id + "&screen=place"


Часовой пояс GMT +3, время: 12:17.