Войти
OFFLINE / Окно в реальностьПросмотров: 4,423

Нужна помощь "тыжпрограммистов".

Допустим у меня есть сайт.
На одной из страниц у меня подключен скрипт.
jQuery.ajax({ url: "http://api.unit-online.ru/items?type=%D0%BE%D1%80%D1%83%D0%B6%D0%B8%D0%B5", dataType: "jsonp" }).done(function (result) {
jQuery("#nonlinecount1").html(result.count);
бла
бла
бла
a = jQuery("#nonlinePPS").html();
jQuery("#nonlinePPS").html(a+ "" + result.items.name+" ["+result.items[i].level+"]"+"<a href=\"http://unit-online.ru/item?id="+result.items[i].id+"\"target=\"_blank\"> <img src=http://блаблабла/ico_info.gif></a><br>");
В левой части страницы мы видим вот это http://petromi.com/get/eah4F6960de220ea0011
Как видно из кода, при нажатии на значок информации мы попадаем на http://unit-online.ru/item?id= +id ствола, например http://unit-online.ru/item?id=79
Теперь допустим что в правой части страницы у меня есть фрейм, в котором лежит:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Инфомация о предмете</title>
<style>
#content {
бла
}
.item-info {
бла
}
.common-params {
бла
}
.common-params div, .spec-params div {
бла
}
.item-name {
бла
}
.item-img {
бла
}
</style>
</head>
<body>
<script src="http://www.бла/js/jquery.js"></script>
<table>
бла бла
</table>
<script>

$.ajax({ url: "http://api.unit-online.ru/item", dataType: "jsonp", data: { id: 771 } }).done(function (data) {
if (data.status == "ok") {
var item = data.item;
var info = $("#content .item-info");
info.find(".item-name").text(item.name);
info.find(".item-img").html('<img alt="" src="' + item.image + '">');
var params = $('<div>');
for (var i = 0; i < item.params.length; ++i) {
if (item.params[i].name.lastIndexOf("Клетки", 0) === 0) {
info.find(".spec-params").append(
$('<div>').text(item.params[i].name + ": " + item.params[i].value)
).toggle();
} else {
params.append($('<table>').append(
$('<tr>').append(
$('<td>').text(item.params[i].name)).append(
$('<td class="value">').text(item.params[i].value))
)
);
}
}
info.find(".common-params").append(params);
$("#content .progress").toggle();
info.toggle();

} else if (data.status == "fail") {
$("#content").text("Отсутсвует информация о предмете с id = 771.");
}
});

</script>
</body>
</html>
В этом фрейме мы видим что-то похожее на http://petromi.com/get/eah4kC71eeb920ea0311 , только в других цветах/шрифтах.
Собственно, в чём мне нужна помощь?
Хотелось бы чтобы ([i]при нажатии на значок информации мы попадаем на http://unit-online.ru/item?id= +id ствола, например http://unit-online.ru/item?id=79
), а нужно чтобы при нажатии id предмета передавался в скрипт во фрейме $.ajax({ url: "http://api.unit-online.ru/item", dataType: "jsonp", data: { id: 771 } }).done(function (data) {.
Если это вообще возможно, у меня не хватает знаний чтобы понять как это сделать. Если вы знаете как это сделать/ как сделать иначе, но с похожим эффектом, то пожалуйста напишите код/ дайте ссылку на литературу по данному вопросу/ на видео-урок.
P.S. Не нужно писать типо "читай про фреймы и скрипты", я это и так пытаюсь делать, но либо я тупой, либо не там ищу.

Re: Нужна помощь "тыжпрограммистов".

3. буттон у тебя андефайнед - переменные нужно объявлять перед использованием!


это и не переменная же.

вот писал выше - прочти ты про DOM,
а то получается, что обращаешься к сферическому коню в вакууме.
ну откуда скрипту знать что это за button к которому ты хочешь innerHTML применить?

Re: Нужна помощь "тыжпрограммистов".

Спойлер


вот так работает

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:
надеюсь я не сильно задолбал своими тупняками)
ибо вероятно запускаешь ты свой скрипт прямо с диска, а не с сервера,
Вроде как с сервера

2. что это у тебя за путь такой до сервера?
это FTP или P2P? какой протокол то?

чтоо?
файлик xxxx.php, редактирую в нотепад++, сохраняю, заливаю через FTP на хост в папку шаблона, вначале файла у меня еще
Спойлер

И когда создаешь новую страницу там в качестве шаблона можно будет выбрать Мой шаблон страницы, т.е. получим страницу на которую никак не влияет основной шаблон.

вот писал выше - прочти ты про DOM
да я прочел, но не всегда сразу всё ясно, а иногда вообще думаешь что ясно, а самом деле оно не так=)

Спойлер
вот так работает

теперь выглядит вот так http://petromi.com/get/eag3Ixa6e5f160ead111
спалил сайт, но надеюсь никто левый не догадается где там адрес=)

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:
О боги, оно работает.
xhr.open("GET", "http://api.unit-online.ru/item?id=79", true);
отсюда кудато http:// пропало, поэтому 404.

Re: Нужна помощь "тыжпрограммистов".

а ну ясно, форум прячет
Спойлер

Re: Нужна помощь "тыжпрограммистов".

для -TRickSTeR-:
я выше писал, что браузер не позволит запускать с локального пути без сервера,
но это касается только для метода open() с значением falce,
т.е. для синхронного запроса,
ну а асинхронный отрабатывает нормально,
т.е. xhr.open("GET", "api.unit-online.ru/item?id=79", true); не станет ругаться на XMLHttpRequest

это мой косяк - я просто не могу помнить значение всех параметров в методах и заглушки в браузерах,
защищающих дураков от кражи данных.

но!
ты не внимательно читаешь ;)
с чего ты взял, что я просто так пишу про твои ошибки, а потом выдаю тебе готовый рабочий пример?
ну да, с DOM ты вероятно не до конца ещё разобрался,
тут фишка в том, что нужно не только прочитать описание,
но и попробовать.
чтобы твой буттон работал, он или уже должен существовать, как тот DIV, в который мы что-то пишем,
или ты должен объявить этот объект (создать его), а затем определить его место в документе
- ни того, ни другого сделано не было, на что браузер вполне резонно выругался

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


ещё раз прочти про протокол ;)
это FTP или P2P? какой протокол то?
чтоо?


барузер умнее тебя, он умеет дописывать за тебя адрес,
но в программировании такие фокусы не проходят!
откуда ты берёшь описание оружия то?
твой метод xhr.open("GET" к серверу на какой порт и по какому протоколу будет обращаться?
если это HTTP, то порт можно и не указывать - по умолчанию ломанётся на 80й,
если, это HTTP, но порт 8080 к примеру, то придётся указать,
но всё равно ты должен сказать, что GET должен работать по HTTP,
значит допиши в путь http://


про инструменты разработчика и консоль ошибок в браузере ты внял?
там же за тебя 99% работы по выявлению ошибок выполняют - говорят где и что не нравится,
даже часто дают описание и даже ЮРЛ для справки по методам

Re: Нужна помощь "тыжпрограммистов".

15 Марта 2016 21:40, -TRickSTeR- [16] :
а ну ясно, форум прячет
Спойлер

Re: Нужна помощь "тыжпрограммистов".

форум прячет
мой ник Da Boogie Woogie,
а не форум =)
это я спрятал

Re: Нужна помощь "тыжпрограммистов".

http://black-hearts.ru/sssss1/ как-то так

ну да, с DOM ты вероятно не до конца ещё разобрался,
тут фишка в том, что нужно не только прочитать описание,
но и попробовать.

я бы с радостью=)

чтобы твой буттон работал, он или уже должен существовать, как тот DIV, в который мы что-то пишем,
или ты должен объявить этот объект (создать его), а затем определить его место в документе
- ни того, ни другого сделано не было, на что браузер вполне резонно выругался

Сейчас буду гуглить как объявить этот объект.

значит допиши в путь http://
оно то написано, просто форум съедает.

про инструменты разработчика и консоль ошибок в браузере ты внял?
Поставил я значит оперу, в настройках поставил галочку "показать панель разработчика", но нигде её не увидел, вот какую-то консоль нашел, http://petromi.com/get/eag2Rocbf191b0ead811

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:

Re: Нужна помощь "тыжпрограммистов".

но нигде её не увидел, вот какую-то консоль нашел,

это она и есть

сделай ошибку в скрипте, запятую забудь или ещё чего и в консоль вылезет описание ошибки и номер строки в документе.
в твоём notepad++ ведь строки нумеруются?
напомню, что нумерация начинается с нуля и с начала документа, а не с начала скрипта.

Re: Нужна помощь "тыжпрограммистов".

в твоём notepad++ ведь строки нумеруются?
даже слова подсвечиваются разными цветами http://petromi.com/get/eag2K5d212fa10ead911
Спасибо, работает консоль http://petromi.com/get/eag2FR684dafc0eada11
В хроме такая же есть, а я то гадал зачем она нужна=)

Re: Нужна помощь "тыжпрограммистов".

ты там DOM`ом особо не увлекайся - так, для общего развития.
ты пока несколько строк рабочих накодил,
сейчас и не заметно,
но нахер не надо скриптом плодить сущности,
браузер значительно быстрее отрисует разметку, чем создаст её скриптом, а потом отрисует.

я вообще не понял зачем там это буттон и почему его нельзя сразу написать в редакторе, а нужно создавать и воздуха.

и про потерянный протокол - не стоит бездумно копипастить чужой код,
читай вдумчиво и пиши по своему,
ты наверное ещё не сталкивался с бородатыми приколами программистов,
а ведь кроме бэкдора тебе могут и просто злую шутку подпихнуть,
вот к примеру такой инетренет-мэм есть: http://www.linux.org.ru/forum/development/392747
читай коменты и вытирай слёзы

Re: Нужна помощь "тыжпрограммистов".

файлик xxxx.php, редактирую в нотепад++, сохраняю, заливаю через FTP на хост в папку шаблона, вначале файла у меня еще
не проще ли поднять у себя сервер, пусть даже какую-нибудь готовую сборку типа Denver?

ну и нафига в шаблоны то запихавать?
сделай вне WP каталог ./test
туда несколько файликов для работы: test.html, test.php,...

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:
linux.org.ru/forum/development/392747
ЛОЛ, жесть

я вообще не понял зачем там это буттон
где button?
Спойлер
Я не понимаю, о какой баттон речь. Или ты про старый код?

ну и нафига в шаблоны то запихавать?
сделай вне WP каталог ./test
туда несколько файликов для работы: test.html, test.php,...


http://black-hearts.ru/test/bd1.php
тот же самый файл но в папке шаблона
http://black-hearts.ru/bd/

Re: Нужна помощь "тыжпрограммистов".

у тебя в старом коде, до того как он начал работать есть button
и если его вернуть, то скрипт крашится на этом не объявленном буттоне.


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

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:
Подожди-ка
ну и если нет разницы,
Всмысле?=)
На первой написано "Соединение успешно установлено"
На второй(которая в шаблоне) "Соединение успешно установлено".

не боишься, что совпадут какие либо имена, вп их переварит, а ты будешь неделю искать ошибку?
Спойлер

Это вроде как-то изолировать её должно, разве нет?

Re: Нужна помощь "тыжпрограммистов".

для -TRickSTeR-:
На первой написано "Соединение успешно установлено"

гавно твой гуглохром! опера сама сообразила, что с кодировкой что-то не так и исправила.
а вообще гугли про .htaccess
и объявление кодировки в которой сервер будет отдавать документы из каталога, в котором лежит этот .htaccess
ну как то так:
Спойлер


Это вроде как-то изолировать её должно, разве нет?
вовсе не обязательно, я без понятия чего там в последнее время накодили в этом монстре,
кроме бэкдоров могли и перехват каких-то методов или переменных для своего фреймворка запихнуть

Re: Нужна помощь "тыжпрограммистов".

На первой написано "Соединение успешно установлено"
На второй(которая в шаблоне) "Соединение успешно установлено".


это наверное у тебя на хостинге по умолчанию сервер настроен отдавать документы в cp-1251,
а в каталоге wp, в .htaccess объявлена кодировка utf-8

если ты не будешь всегда сам объявлять значения глобальных и локальных переменных,
то придётся мириться с тем, что за тебя решил админ сервера - времени на костыли потратишь уйму!

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:
вот у меня новая версия файлика
Спойлер

До </html> всё без изменений. Дальше подключаемся к уже созданной БД(и одна таблица там тоже есть). Теперь перед // Выполняем SQL-запрос нужно как-то получить то что нам вернул api запрос. Можно ли напрямую обратится к "dtext"? Виден/доступен ли он из этой части программы? Теперь оттуда нужно получить все записи ключ:значение (или не нужно?).
1 2 3 4 5 »