Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по CGI: как узнать текущие URL?   Найти похожие ветки 

 
Novichek   (2003-04-24 19:05) [0]

при отправке запроса на cgi-скрипт со страницы, содержащей фреймы, можно ли узнать какие URL загружены в данный момент во все эти самые фреймы?


 
Novichek   (2003-04-26 13:50) [1]

?


 
Карелин Артем   (2003-04-26 14:05) [2]

Если только каким-нибудь извращенным жаваскриптом формировать формировать запрос к скрипту, в котором одним из параметров будет УРЛ.
Хотя по-моему это фантастика :-)


 
Palladin   (2003-04-27 08:38) [3]

да не... не фантастика...
цикл по top.frames
формирование формы и submit в CGI


 
Novichek   (2003-05-06 14:20) [4]

Palladin
а можно, пожалуйста, по-подробнее?


 
Palladin   (2003-05-06 15:14) [5]

хм


<form id="_hiddenform" action="твой cgi+твой путь в CGI" method="post">
<input type="hidden" name="_ListOfURLs" id="_idListOfURLs">
</form>

<script language="javascript>
var s=new String();
for (i=0;i<top.frames.length;i++) {
s+=" "+top.frames[i].location.href;};
document.all._idListOfURLs=s;
document.all._hiddenform.Submit();
</script>


этот кусок может лежать в любом месте html твоего фрейма...
твой CGI получает в Request.ContentFields.Values["_ListOfURLs"] строку с кучей URLов разделенных пробелом, не бойся пробелы в самих URLах не встретятся, так что распарсить строку не представляет проблеммы при помощи TStringList.Delimiter и TStringList.DelimitedText
после обработки данных ты должен установить Response.StatusCode:=204


 
Palladin   (2003-05-06 15:16) [6]

упс
маленький не точность
вместо
document.all._idListOfURLs=s;
нужно
document.all._idListOfURLs.value=s;


 
Novichek   (2003-05-06 15:42) [7]

неработает,
он мне _ListOfURLs пустую постоянно вовращает


 
Palladin   (2003-05-06 15:49) [8]

1 уверен ли ты что кусок который я привел точно находится в дочернем фрейме, и вообще это точно страница построеная с frameset?
2 приведи здесь кусок который ты вставляешь
3 приведи здесь кусок где ты получаешь


 
Novichek   (2003-05-06 15:56) [9]

1)
<FRAMESET FRAMEBORDER="0" FRAMESPACING="0" BORDER="0" rows="50,*">
<FRAME SRC="1.html">
<FRAME SRC="2.html">
</FRAMESET>

2)облегченный вариант, без отправки данных

<html>
<input type=submit onclick=url()>

<script language="javascript">
function url(){
var s=new String();
for (i=0;i>top.frames.length;i++)
{s+=" "+top.frames[i].location.href;};
alert(s)
}
</script>

</html>

3) при нажатии на кнопку переменная "s" равна пустой строке.


 
Palladin   (2003-05-06 15:59) [10]

cделай так


<input type="text" id="_log1">
<script language="javascript">
function url(){
var s=new String();
for (i=0;i>top.frames.length;i++)
{s+=" "+top.frames[i].location.href;};
document.all._log1.value=s;
}
</script>


не верю я этому alert


 
Novichek   (2003-05-06 16:27) [11]

что-то мы наверное не так делаем, т.к. всеравно "s" возвращает пустую строчку.

а из CGI-скрипта эту информацию о фреймах никак нельзы вытащить?


 
Palladin   (2003-05-06 20:48) [12]


> Novichek © (06.05.03 16:27)

не мы, а ты...
у меня все нормально


 
Palladin   (2003-05-06 20:50) [13]


> а из CGI-скрипта эту информацию о фреймах никак нельзы вытащить?

CGI (не скрипт между прочим) вообще никакого отношения к браузеру не имеет...

кстати... а какой у тебя браузер?


 
Novichek   (2003-05-07 13:35) [14]

explorer 6


 
Palladin   (2003-05-07 13:56) [15]

:) а JavaScript у тебя Enabled?
если Enabled, то проблем быть не должно...
привожу полностью то, что работает...

фреймы
Test12.htm

<html>

<head>
<title>New Page 2</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
</head>

<frameset rows="64,*">
<frame name="banner" scrolling="no" noresize target="contents" src="test 1.htm">
<frameset cols="150,*">
<frame name="contents" target="main" src="test2.htm">
<frame name="main" src="test11.htm">
</frameset>
<noframes>
<body>

<p>This page uses frames, but your browser doesn"t support them.</p>

</body>
</noframes>
</frameset>

</html>


Test 1.htm
Test2.htm
пустые <html><body></body></html>

Test11.htm
<html>
<body>
<input type="text" value="ff" id="_kar">
<input type="text" value="ff" id="_kar2">
<script language="javascript">
var s=new String();
for (i=0;i<top.frames.length;i++) {
s+=top.frames[i].location.href;
};
document.all._kar.value=s;
document.all._kar2.value=top.frames.length;
</script>
</body>
</html>



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.008 c
3-44588
Jackal22
2003-06-20 18:12
2003.07.14
Сортировка DBLookupComboBox


14-44893
Empleado
2003-06-27 11:20
2003.07.14
Сегодня пятница ... ржомс


1-44719
antoniz
2003-07-01 10:02
2003.07.14
Подскажите, как ограничить поле для ввода (по ширене)


14-44854
Думкин
2003-06-26 06:31
2003.07.14
Родственники на работе


1-44635
Zigs
2003-07-01 19:11
2003.07.14
Как изменить межстрочное расстояние, например в TDBMemo?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский