![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по CGI: как узнать текущие URL?
Novichek © (2003-04-24 19:05:00)при отправке запроса на cgi-скрипт со страницы, содержащей фреймы, можно ли узнать какие URL загружены в данный момент во все эти самые фреймы?
Palladin (2003-05-07 13:56:00) [1]:) а 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>
Novichek (2003-05-07 13:35:00) [2]explorer 6
Palladin (2003-05-06 20:50:00) [3]
> а из CGI-скрипта эту информацию о фреймах никак нельзы вытащить?
CGI (не скрипт между прочим) вообще никакого отношения к браузеру не имеет...
кстати... а какой у тебя браузер?
Palladin (2003-05-06 20:48:00) [4]
> Novichek © (06.05.03 16:27)
не мы, а ты...
у меня все нормально
Novichek (2003-05-06 16:27:00) [5]что-то мы наверное не так делаем, т.к. всеравно "s" возвращает пустую строчку.
а из CGI-скрипта эту информацию о фреймах никак нельзы вытащить?
Palladin (2003-05-06 15:59:00) [6]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 15:56:00) [7]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:49:00) [8]1 уверен ли ты что кусок который я привел точно находится в дочернем фрейме, и вообще это точно страница построеная с frameset?
2 приведи здесь кусок который ты вставляешь
3 приведи здесь кусок где ты получаешь
Novichek (2003-05-06 15:42:00) [9]неработает,
он мне _ListOfURLs пустую постоянно вовращает
Palladin (2003-05-06 15:16:00) [10]упс
маленький не точность
вместо
document.all._idListOfURLs=s;
нужно
document.all._idListOfURLs.value=s;
Palladin (2003-05-06 15:14:00) [11]хм
<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
Novichek (2003-05-06 14:20:00) [12]Palladin
а можно, пожалуйста, по-подробнее?
Palladin (2003-04-27 08:38:00) [13]да не... не фантастика...
цикл по top.frames
формирование формы и submit в CGI
Карелин Артем (2003-04-26 14:05:00) [14]Если только каким-нибудь извращенным жаваскриптом формировать формировать запрос к скрипту, в котором одним из параметров будет УРЛ.
Хотя по-моему это фантастика :-)
Novichek (2003-04-26 13:50:00) [15]?