Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   размер IFRAME в FF (https://javascript.ru/forum/misc/6836-razmer-iframe-v-ff.html)

thunder2 30.12.2009 00:17

Уже отказался от IFRAME. Но это не есть правильно. Вообще web какой-то убогий для программирования оказался.

Раз уже мы с Вами стали общаться у меня возник вопрос по связке ASP+JScript. Если есть опыт может подскажите что за проблема. Есть такой код на стороне сервера (файл app.asp):

var method=Request.QueryString("proc");
var var_userid=Session("userid");

Response.Write("<p>METHOD="+method+'</p>');
Response.Write("<p>Request.QueryString="+Request.Q ueryString+'</p>');
Response.Write("method=='main'"+Request.QueryStrin g("proc")=="main");

и есть строка в браузере URI: http://localhost/app.asp?proc=main
Так вот строка Response.Write("<p>METHOD="+method+'</p>'); выведет в результирующую страницу METHOD=main, а строка Response.Write("method=='main'"+Request.QueryStrin g("proc")=="main"); выведет False. Более того typeof(proc) - показывает, что это объект, хотя ожидается, что это строка. Что тут не так ?

Я в Javascript`е не силен если честно. Потому и спрашиваю.

x-yuri 30.12.2009 07:00

Цитата:

Сообщение от thunder2
Уже отказался от IFRAME. Но это не есть правильно. Вообще web какой-то убогий для программирования оказался.

http://javascript.ru/forum/38921-post30.html

Цитата:

Сообщение от thunder2
Response.Write("method=='main'" + Request.QueryString("proc")=="main"); выведет False

втыкаем на приоритет операторов

Kolyaj 30.12.2009 08:43

Цитата:

Сообщение от thunder2
Вообще web какой-то убогий для программирования оказался.

Вот так пишут люди, пишут. Google там, Яндекс, Twitter, ВКонтакте в конце концов. А потом бац, а веб-то убогий для программирования.

thunder2 30.12.2009 20:08

Цитата:

Сообщение от x-yuri (Сообщение 39541)

Каюсь, накосячил !
Но это всё равно не объясняет почему в операторе if(method=="main") условие выполняется, а в
switch(method){
case "main":
...
...
break
}
не выполняется.
Но если перед switch выполнить присваивание method="main", то switch начинает выполняться. Что тут я не так делаю ?

thunder2 30.12.2009 20:37

Так, почему switch себя так ведет я понял. он использует оператор строго сравнения ===,в то время как в IF я пишу ==, т.е. без учета типа.

А как мне это обойти ?
Мне надо чтобы в switch сравнивался моя переменная method (которая очевидно объект) со строками. method.toString - не помогает.

x-yuri 02.01.2010 03:47

не может не помогать
var a = new String('asd');
switch(a.toString()) {
case 'asd':
    alert(1); break;
}

thunder2 03.01.2010 16:43

Цитата:

Сообщение от x-yuri (Сообщение 39609)
не может не помогать
var a = new String('asd');
switch(a.toString()) {
case 'asd':
    alert(1); break;
}

Неа, в JScript от MS так не работает. Почему - загадка.
А как в строке удалить ведущие и замыкающие пробелы ? И насколько корректно js сравнивает строки с русскими буквами. Например такое не выполняется
if(oRS.Fields("status").Value.substr(1,7)=="ОТК РЫТО") ?

Octane 03.01.2010 17:11

Про switch и toString уже писали

Indiana 04.06.2010 04:13

Доброго времени суток. Позвольте возобновить беседу по поводу вилок в супе. Дело в том, что у меня на главной тоже есть iframe, в который загружаются странички разной высоты. Высоту же самого iframe я сделал по высоте самой большой из них (смотрится коряво, но с полосой прокрутки еще хуже). В нете нашел такой код:
<iframe onload="this.height=this.contentWindow.document.body.scrollHeight;" name="ifr" src="podv1.html" width="100%"  height="100%"   border=....

он позволяет изменять высоту iframe под контент, но работает только IE. В Опере и Лисе размер устанавливается один раз под первую загруженную страничку.
Помогите пжл. модернизировать эту вилку под Ореру и FF или подскажите где лежат ложки:) Зарание благодарен.

Octane 04.06.2010 04:21

this.height = (this.contentDocument || this.contentWindow.document).body.scrollHeight;


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