Malko kofti vapros...

23 отговора 15 прегледа
#1

Malko kofti vapros...

Значи става въпрос за следното:
Имам index.htm, който е с рамки. Как да направя линк от външна страница, при който да се зарежда index-a, но в рамка "xxx" вместо дефинираната в index страница xxx.htm да се зарежда yyy.htm?

Оф, хич не знам възможно ли е, но се надявам някой дето разбира повече от мен да знае!!!
10x :)



j1.dir.bg - Вашият портал за звукозапис и музика!
Отговор
в отговор на Kalin_M #2

Re: Malko kofti vapros...

meznam be nali be6e pro4el vsi4ki HTML referance-i

ami vij ne razbiram mnogo ama sporedd men nai-hubavo si napravi edin drug file index1.htm i si napravi link kym nego ot vyn6nata stranica
kato index1.htm ti e s famoznata stranica yyy.htm


achko

Отговор
в отговор на achko #3

Re: Ami ako imam 10 kategorii...

...koito da iskam da vikam s van6ni linkove - 10 index-a li predlaga6 da sloza?
Tarsq prinzipno re6enie v koda, ako ima takova.

Osven tova kato sam pro4el vaprosnite ne6ta ne zna4i 4e sam gi nazubril, a i te ne sa dokrai iz4erpatelni, a prosto obqsneniq na ezika HTML i tagovete, sekziite i t.n. v nego...

Vse pak mersi za mnenieto :)

j1.dir.bg - Вашият портал за звукозапис и музика!
Отговор
в отговор на Kalin_M #4

Re: Ami ako imam 10 kategorii...

ako shte i 100 da sa kategoriite, 100 index-a triabwa da naprawish. Syshtoto neshto mi triabwashe i na men i taka i ne razbrah kak da stane. Ako niakoj dade razumno reshenie, evala mu kazwam. Do togawa - 100x100

Je rиgne! Ich ordne an! Regolo!Boooo
Отговор
в отговор на Deimos® #5

Евала на програмистите бих казал аз...

Защото може да се направи със CGI скрипт, който буквално да генерира новите страници или в случая определените html-та, които трябва да се видят, но по въпроса към брат ми- той е този, който отбира добре от CGI, аз само мога да Ви кажа, че е възможно!
Е ще изчакаме да видим, какво ще кажат другите спецове:))))

Имало едно време динозаври! Живяли, па умряли! Защо?- защото не са си правили crash-tests
Отговор
в отговор на Kalin_M #6

Я поуточни това-онова. Току-виж

точно аз може да се сетя.

Та под "линк от външна страница" какво точно имаш предвид:
Буквално прочетено - в някаква си страница има линк към index.htm и в определена зависимист от тази външна страница да зареждаш различен .htm файл в рамка ххх.

Ако е така никаф проблем не е да се направи със CGI. Само че тогава ще трябва файла ти да не е .htm, а какъвто е указан да се обработва от съответния CGI parser. Или пък той да ти обработва също и всички .htm файлове, но това е кофти решение.

Не знам дали би могло да стане с JavaScript - не съм навътре с него. Ако има начин в index.htm с JavaScript да се разбере подробност за това откъде е дошла заявката за index.htm-то ти - също може да стане лесно.


Отговор
в отговор на Xypodilec #7

Добавка, че не ща да редактирам

ако ще го правиш със някакъв вид CGI ще трябва да си хостнеш въпросния index.XXXXX на уеб сървър с такова ЦГИ.


Отговор
в отговор на Xypodilec #8

пак Добавка, че не ща да редактирам

при всички възможни начини ще трябва по някакъв начин (с таблица или функция) да намираш съответствие между откъдето_е_дошла_заявката и кой_файл_да_заредиш.


Отговор
в отговор на Xypodilec #9

Re: пак Добавка, че не ща да редактирам

С JS и JAVA определено няма да стане, гарантирам ти!!! Със CGI да, но имаш ли идея как точно?!

Имало едно време динозаври! Живяли, па умряли! Защо?- защото не са си правили crash-tests
Отговор
в отговор на Twenty Century BUG #10

Eто така:

[линк], index.php e.

Дано да няма проблем точно сега, че все пак е free услугата за хостване там.


Отговор
в отговор на Xypodilec #11

Re: Probvai tova:

ne vijdam prichina da ne stava i s java script!
dokolkoto razbrah, iskash ot razlichi linkove da se zarejda indexa ti s razlichni framove.
da kajem che edinia frame e "glaven", a drugia - "navigacia", togava razlichnite linkove kam tvoia index biha bili - <A HREF="index.htm?1">link1</A>, <A HREF="index.htm?2">link2</A> i taka natatak... kato pri link 1 v "glaven" se zarejda edna stranica, a pri link2 -druga.

za da stane tova, v index.htm triabva da napishesh script, koito bi mogal da izglejda taka:

1. pravish masiv za razlichnite stranici, koito triabva da se zarejdat vav frame "glaven":

<!-- okazvash koi i kade sa stranicite koito shte se zarejdat spored razlichnite vrazki-->
stranicaKoia = new Array()
stranicaKoia[0]="";
stranicaKoia[1]="p1.html";
stranicaKoia[2]="p2.html";
stranicaKoia[3]="p3.html";

2.
<!-- tova e osnovnata ideia na scripta, koito triabva da napishesh - izpolzvaneto na location.search-->
var stranicaId = document.location.search.substr(1);

3. pravish funkcia, koaito da izvikva stranicata, spored tova, otkade e vrazkata

function update ()
{
if (stranicaId != "") {parent.glaven.location = stranicaKoia[stranicaId] }

a ako ne e vanshna da zarejda default (toest da se zarejda originalnia index.htm)

else {parent.glaven.location = "default.html"}
}

4. sazdavash dinamichno sadarjanieto na index.htm - naprimer:

document.writeln('<frameset cols="100,*" onLoad="update();">')
document.writeln('<frame name="navigacia" src="tova si e vinagi.html" >')
document.writeln('<frame name="glaven" src=" '+stranicaKoia[stranicaId]+' " ></frameset><noframes></noframes>')

vsichko tova go slagash v heada na indexa i si gotov:

<script LANGUAGE="JavaScript">
stranicaKoia = new Array()
stranicaKoia[0]="";
stranicaKoia[1]="page1.html";
stranicaKoia[2]="page2.html";
stranicaKoia[3]="page3.html";

var stranicaId = document.location.search.substr(1);
function update ()
{
if (stranicaId != "") {parent.glaven.location = stranicaKoia[stranicaId] }
else {parent.glaven.location = "default.html"}
}
document.writeln('<frameset cols="100,*" onLoad="update();">')
document.writeln('<frame name="navigacia" src="tova si e vinagi.html" >')
document.writeln('<frame name="glaven" src=" '+stranicaKoia[stranicaId]+' " ></frameset><noframes></noframes>')
</script>

NB! tova e adski grub script, no daje i v takav vid bi triabvalo da raboti. poigraj si s nego - niakoi neshta mogat da se optimizirat i mahnat. Uspeh.

p.s ne shitam che vaprosa ti e "kofti" - po-skoro e dosta interesen - na fona na mnogoto gluposti, koito naposledak se pishat v toia forum

Отговор
в отговор на Bravo #12

Предполагам защото

"интересен" е синоним на "кофти" :)

Доколкото аз разбрах въпроса, обръщението към страницата му става от някаква_си_дееба_и_страница, която може дори да не е негова. И това зависи какъв файл ще се пръкне във фрейма. А май няма начин с Java[Script] да се получи достъп до това инфо.


Отговор
в отговор на Xypodilec #13

Re: Предполагам защото

Напротив - има начин отново само с JavaScript.
Значи предполага се, че някой стартира направо page2.html, а тя трябва да задейства идеята на Bravo (м/у другото точно това е начина на направиш динамично изграждаща се индексова страница - да извадиш от адресбара нещо, което ти трябва и да го набуташ с document.write. Със средствата на JS разбира се - с PHP или CGI е безумно лесно :)))

В началото на page2.html се добавя малко код:

if (document.all || document.layers){
sNewLoc="index.htm?2";
if (parent.location.href == location.href)
{
agent=navigator.userAgent;
if ((agent.indexOf("MSIE 3.0;") != -1) || (agent.indexOf("MSIE 3.01;") !=
-1) && (agent.indexOf("Mac") == -1))
{
brow = location.href;
window.explorer.navigate((brow.substring(0,
brow.lastIndexOf("/") + 1) + sNewLoc),2);
}
else //ie3.02+, Netscape (всички версии)
{
parent.location.replace(sNewLoc);
}
}
}

И вече няма значение каква ще е заявката
- index.htm?2 или page2.html ...
Е - вярно е, че този скрипт трябва да го има във всички страници, които задължително трябва да се отварят в рамка (с промяна само на един знак - този в sNewLoc), но две добри има само в бриджа :)))

А въпроса си беше направо супер от всякъде :)

Отговор
в отговор на LeoS #14

Ама че съм!

забравих да сложа линк към сорсовете:
[линк]
[линк]

И май пак не схващам идеята: ако външната страница няма нищо общо със сайта на Kalin_M, а има само най-прост линк, без нищо друго - как тогава с JavaScript ще получиш информация:
1. Коя е тази страница (извикващата)?
2. IP адресите й?

Ако е индексирана "локално", т.е. с кликвания от друг фрейм на същата страница - ясно.


Отговор
в отговор на Kalin_M #15

10x no ne savsem...

Благодаря на всички и специално на Bravo и LeoS за мненията и съветите!
Не съм имал време да пробвам скрипта, но вярвам, че ще тръгне. Проблема идва от това, че не дообясних докрай за какво става въпрос, а именно (ползвам наименованията на Bravo) - поради необходимост на дизайна самият фрейм "glaven" зарежда страница с фреймове и в нейният фрейм "main" трябва да се зареждат p1.htm, p2.htm, p3.htm,...
Ето ви сега добър въпрос - може ли това да се направи с javascript и ако може - как?
Благодаря ако все пак намерите време и желание да драснете някакво решение!

Все пак е хубаво във форум Web Дизайн и HTML понякога да си пешем за Web Дизайн и HTML...
:)
10x 4 all



j1.dir.bg - Вашият портал за звукозапис и музика!
Отговор
в отговор на Kalin_M #16

Re: 10x no ne savsem...

В началото въобще не можех да рабера какво точно искаш, но поседното уточнение което даде, а то е :
В отговор на:

"glaven" зарежда страница с фреймове и в нейният фрейм "main" трябва да се зареждат p1.htm, p2.htm, p3.htm,...




Ако е точно това, защо не си направиш фреймове и в "main" , където да си викаш p1.htm, p2.htm, p3.htm.




I wore the clothes you wanted
I took your name
If there is some confusion, who's to blame?
Отговор
в отговор на stipe #17

Re: 10x no ne savsem...

Q pak, 4e ne shvanah

Отговор
в отговор на Xypodilec #18

Re: Ама че съм!

Значи е необходимо да си опресним първоначалния въпрос:
"Как да направя линк от външна страница"
т.е. той ще си го зададе и не го интересува кой е отсреща. Дали е мъж или жена и ако е жена, дали са й прави краката или е преплувала Ламанша на бъчва :)))
Така че заявките index.htm?X и pageX.html (със скриптовете в тях) може да се пуснат от където душата поиска, а не само от активната страница.
А за IP адреса (и не само) си има функции в JS.
подсказвам:
REMOTE_HOST, HTTP_USER_AGENT, REMOTE_ADDR, REMOTE_USER има и още ...
Така че никакъв проблем да прихванеш и IP адрес - ако ти потрябва де !-)
-----
В твоя сорс на РНР, ако използваш оператора urlencode($neshto_si); ще си спестиш сумати сметки :))
А от самите сметки аз пък нищо не разбрах - как ще му кажеш на файла (и то на точно определен файл) да скочи в предварително зададеното поле "main" ?
Това дето си го извел на финала определено няма да работи ...

Отговор
в отговор на Kalin_M #19

Re: 10x no ne savsem...

Моят отговор отново е - може.
Само че трябва да подходиш нетрадиционно към задачката. Т.е. традицията повелява да си вмъкнеш един index.htm в друг и в твоя случай е така. Аз ти предлагам index-a да си е само един, а самите страници p1.htm, p2.htm, p3.htm и т.н. да водят за ръчичка със себе си нещо в другото поле (предполагам някакво подменю).
Ако предположим, че става въпрос за J1 портала, то примера би изглеждал така:
Три полета - горно хор.меню (topmenu), ляво верт.меню (mymenu) и главно поле (main).
В страница p1.htm добавяш скрипта:
function MyMenu() {
parent.window.mymenu.location.href = 'menu1.html';
}
<body onload="MyMenu();>
и си готов !
Това ще те отърве от евентуални недоразумения с вмъкнатите една в друга рамки и задължителното посочване в href на различни мишени за файловете в mymenu & main (target=""). Винаги ще насочваш pX.htm в main, а те ще си имат грижата да си заредят подходящия файл в mymenu. Представи си какво ще се случи, ако трябва да промениш по някаква причина файла в mymenu, а основния pX.htm не се променя - ще сменяш линкове в навигацията (или ще пишеш нови index.htm), а с това, което ти предлагам си посочваш файла в скрипта на pX.htm и си свиркаш :)
Единствения недостатък, който виждам в момента е, че само при първоначално зареждане на index.htm полето mymenu ще презареди файла в него ...
Но нищо не ти пречи в index-a да посочиш един blank.html като за начало.

Дано съм бил ясен, че много приказки изприказвах, но мисля на глас в момента ...

**********
Ето че мислейки ми хрумна още нещо ...
С този скрипт можеш с една и съща страница да зареждаш и две различни менюта в mymenu. Примерно за горната й половина едно, а за долната друго.
Ще те оставя този път сам да се сетиш как, но ще ти подскажа:
вместо onload="" да се използва onclick=""

Редактирано от LeoS на

Отговор
в отговор на LeoS #20

E де, някъде по-горе споменах,

че не съм навътре с Javite и не знам. Щом може - супер.

За сорсовете - там си пише, че сметките са безмислени. Просто са си някакви сметки, от които се получава число от нула до девет, в зависимост от IP-то. от там се получава и име yyy0.html до yyy9.html. Това не е нещо трудно. И няма връзка с урленкодване. А че работи - работи. Как се е заредил файла yyy?.html според теб? Или не схващам какво не му е наред на това:

<frame src=<?php echo "\"$s_full_name\""; ?> name="xxx" scrolling="auto">



Отговор