Перейти к содержимому


Ошибка в вычислениях


Сообщений в теме: 8

#1 jazvenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 224 сообщений

Отправлено 20 Декабрь 2010 - 14:15

И так: если в вычислениях использовать JavaScript (как вы иногда советуете)

echo "<script> тут скрипт </script>";

то при генерации страницы этот скрипт выводиться в самый верх HTML (ЭТО НЕПРАВИЛЬНО И ПОРОЙ ПОРТИТ ДАЖЕ ВИЗУАЛЬНОЕ ФОРМАТИРОВАНИЕ ДОКУМЕНТА).

<script>alert('!!!!!!!!!!!!!!!!!!!');
</script><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
<title>Клиентская база - Резолюция</title>
<link rel="icon" href="images/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="style.css" type="text/css">
<!--[if IE 6]><link href="fix_ie_6,7.css" rel="stylesheet" media="all" /><![endif]-->
<!--[if IE 7]><link href="fix_ie_6,7.css" rel="stylesheet" media="all" /><![endif]-->
<link rel="stylesheet" href="schemes/rainy_day.css" type="text/css">
...
и тд.

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Декабрь 2010 - 17:19

Каким образом то JavaScript может испортить визуальное оформление документа?

Если уж вам это как ком в горле, то делайте переадресацию в конце JS кода - и нет проблем.

#3 OLDest

    Активный участник

  • Пользователи
  • PipPipPip
  • 268 сообщений
  • Пол:Мужчина
  • Город:Калининград

Отправлено 20 Декабрь 2010 - 17:35

Цитата

Каким образом то JavaScript может испортить визуальное оформление документа?
Очень просто: изменяются размеры выпадающих списков и размеры полей, смотрите сами:

					
					<br />
					
				</div>
				
<script type= ipb.global.registerReputation( 'rep_post_5088', { domLikeStripId: 'like_post_5088', app: 'forums', type: 'pid', typeid: '5088' }, parseInt('0') );
Купил лицензию КБ

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Декабрь 2010 - 17:44

Понятно, тогда как я уже написал:

Просмотр сообщенияРазработчик (20.12.2010, 17:19) писал:

делайте переадресацию в конце JS кода - и никаких проблем.


#5 jazvenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 224 сообщений

Отправлено 20 Декабрь 2010 - 18:36

Просмотр сообщенияРазработчик (20.12.2010, 17:44) писал:

Понятно, тогда как я уже написал:
Я вас немного не понял. Какую переадресацию?

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Декабрь 2010 - 18:43

echo "<script>location.href='адрес'</script>";

#7 jazvenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 224 сообщений

Отправлено 20 Декабрь 2010 - 18:54

Просмотр сообщенияРазработчик (20.12.2010, 18:43) писал:

echo "<script>location.href='адрес'</script>";
А зачем мне переадресация? я немного не понимаю. например так: у меня скрипт (который прописан и выполняется в поле) должен взять по id (из DOM) необходимое поле и работать с ними. Задача именно состоит в том чтобы после того как загрузился весь ХТМЛ, вся страница загрузилась, я нахожу нужное поле по классу или ид и вставляю туда нужные мне данные. А получается что скрипт обрабатывается перед загрузкой ХТМЛа.
Тоесть мне нужно что типа <script>$(document).ready(function() { тут код который должен выполнится тогда когда загрузится страница })</script> Как это можно реализовать? Именно из вычислений.

#8 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 22 Декабрь 2010 - 16:22

Для данных целей была внесена в шаблон index_top.tpl дополнительная smarty переменная {$ADDITIONAL_JAVASCRIPT}. Вы можете вписать ваш JavaScript в данную переменную и он будет вставлен на страницу.
Данная возможность доступна с ревизии 722.

По поводу вывода javascript из самих вычислений, они выводяться в самом начале намеренно. Т.к. есть пользователи, которым вообще не нужна стандартная страница, и они выводят свой doctype документа, и свои данные, затем делают exit.

#9 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 357 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 29 Январь 2013 - 21:19

Есть таблица с вычислением:
$line['Компания']=(!$line['Компания']['ID'] && $line['Заказ']['ID'])?$line['Заказ']['Заказчик']['ID']:$line['Компания'];
Сделал копию, поле Заказ поднял выше, тем самым переопределил подчиненность таблицы.
В оригинале работает. В табличной копии - поведение неадекватное - при выборе значения поля Компания из списка, сохраняется иное значение.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения






Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных