url genereren adhv pagina naam

Status
Niet open voor verdere reacties.

eleco

Gebruiker
Lid geworden
21 aug 2007
Berichten
82
Hallo,

Nadat ik een tijdje niet op dit forum gepost heb toch weer een vraagje.

Op mijn webpagina's gebruik frames (of dat goed of slecht is doet er even niet toe) Ik heb een stuk code geschreven waarmee ik een url in een van de frames kan laden zodat bezoekers makkelijk naar mijn pagina's kunnen linken, die url ziet er dan zo uit:

http://home.deds.nl/~leime/index.html?http://www.google.nl/

(in de url: http://home.deds.nl/~leime/index.htm staat de code die ik geschreven heb.)

Als ik het bovenstaande intik dan krijg ik dus www.google.nl in mijn mainframe. Maar de rest van de frame's zijn gewoon van mij, de pagina bestaat dus kijk maar.

Wat ik wil:

Ik wil dat ik onderaan elke pagina een tekstvak heb met als waarde de url in de vorm hierboven, dus een tekstvak met:

http://home.deds.nl/~leime/index.html/?http://home.deds.nl/~leime/"bestandsnaam + extentie"

Waarin "bestandsnaam + extentie" de bestandsnaam + extentie van de pagina waarop de onderstaande code staat.

Dus ik moet een code hebben die lijkt op:


HTML:
<script type="text/javascript">
<!--
var pagina_naam = bestandsnaam + extentie
var variable_url = http://home.deds.nl/~leime/index.html?http://home.deds.nl/~leime/hier de variabele "pagina_naam"

}
//-->
</script>
<input type="text" value=variabele_url name="pagina_url" />

Wat ik dus moet weten is:

  • Hoe kan ik de naam van een pagina achterhalen?
  • Hoe kan ik als waarde van het tekstvak een variabele gebruiken?
  • Hoe zet ik een variabele in een url?

Sorry als ik het wat onduidelijk uitleg, ik ben niet echt thuis in de javascript wereld.

Vriendelijke groet, eleco
 
Laatst bewerkt:
Pagina naam: gebruik iets van 'window.location'
waarde textvak: haal het eruit via dom. Zoiets:
HTML:
<input id='bbq' value='hallo daar' />

<script type='text/javascript'>
   var bbq = document.getElementById('bbq').value; //is dus 'hallo daar'
</script>

Variabele in een url: gebruik weer de 'window.location'. Je kan dit setten en getten, ofwel, lezen en schrijven. Bijvoorbeeld:
PHP:
//js

var p1 = window.location; //iets van http://example.com/test.html

window.location = "http://www.google.com"; //zal de pagina naar google sturen.
Omdat je dus variabelen met je string kan combineren:
PHP:
//js

var bla = "pagina.html";

window.location = "http://www.google.com/" + bla;
 
hallo,

Heel erg bedankt voor je reactie, het is een stapje in de goede richting.

Maar als ik jou stukjes test dan word ik automatische doorgestuurd, dat is niet de bedoeling.

Als ik de volgende code gebruik:
HTML:
<input id='bbq' value='hallo daar' />
 
<script type='text/javascript'>
  
var pagina_naam = "pagina.html";
 
window.location = "http://www.google.com/" + pagina_naam;

</script>

Oke,
De variabele in regel 5 = nu een zelf in te geven pagina, de naam van die pagina moet de javascript zelf achterhalen dus als ik de code in "hoi.htm" zet dan moet pagina_naam dus hoi.htm worden.

Het stukje "window.location" stuurt mij automatische door, dat is niet de bedoeling.

De waarde van het tekstvak bbq moet http://www.google.com/" + pagina_naam zijn
Dus iets van:

HTML:
<script type='text/javascript'>
  
var pagina_naam = (achterhaal de pagina naam) ;
 
var bbq_value  = "http://www.google.com/" + pagina_naam;

</script>

<input id='bbq' value=bbq_value />
</form>

Maar dan komt er letterlijk bbq_value in mijn tekstvak te staan.

Of

HTML:
<script type='text/javascript'>
  
var pagina_naam = (achterhaal de pagina naam) ;

</script>
 
<input id='bbq' value="http://www.google.com/" + pagina_naam />
</form>

Maar dan komt er letterlijk http://www.google.com/ te staan

Kan iemand me nog een keer duwen (duwtje in de goede richting)?

En nog even voor de duidelijkheid, het is niet de bedoeling dat de gebruiker een naam intikt in het tekstvak, het is de bedoeling dat javascript dat doet en dat gebruikers dat dan kunnen kopiëren om naar mijn site te linken.


Vriendelijke Groet, Eleco
 
Zoiets:
HTML:
<input id='grillmeister' value='' />

<script type='text/javascript'>

   var sPath = window.location.pathname; //iets van "saz\bbq\page.html"
   var page = sPath.substring(sPath.lastIndexOf('/') + 1); // maak er alleen "page.html" van

   document.getElementById('grillmeister').value = page; //eventueel: 'www.google.com/' + page' natuurlijk

</script>
nu zal dus alleen de pagina naam in het input veld neergezet worden. Als je de HELE url wilt (dus www.bbqsaz.com/foo/grill/pagina.html), zal je even de 1e 2 regels JS wel moeten halen, en dus alleen 'window.location' moeten gebruiken.
 
HTML:
<script type='text/javascript'>
  
var pagina_naam = (achterhaal de pagina naam) ;
 
var bbq_value  = "http://www.google.com/" + pagina_naam;

</script>

<input id='bbq' value=bbq_value />
</form>

Maar dan komt er letterlijk bbq_value in mijn tekstvak te staan.

als het goed is zou je dit ervan kunnen maken:

<input id='bbq' value='javascript:bbq_value' />

niet 100% zeker tho :)
 
Hallo allemaal.

Het is geluk, zien wat nu echt precies de bedoeling was? Bezoek mijn website (scroll naar onder) dan eens (niet om bezoekersaantallen te verhogen ofzow hoor ;))

Nogmaals heel erg bedank, Eleco
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan