Forum > Klientspråk > JavaScript
Hej,
Någon som vet hur man öppnar ett id via en länk samtidigt som man byter sida?
<a href="sidan.htm" onclick="change('id');">länk</a>
Det jag vill göra är att först komma till sidan.htm och sen öppna id:t, med ett klick. Dvs, id:t öppnar sig själv efter sidan laddats.
Är detta möjligt?
Lycka till med det, om du inte löser det med ajax så kommer du aldrig att kunna triggar ett event i efterhand, jag skulle nog säga att du försöker lösa problemet på fel håll. Sätt en Querystring, länkar till en annan sida som ha eventet i onload:en istället.
redigerad:
Om du måste vara beroende av javascript för att se innehållet så kan du lika väl bara ha element gömda som du visas när du ha eventet onclick
Det är så jag gjort.
Jag kan visa ex., jag vill att när man klickat på ett av jobben jag gjort på www.lilypad.se/blog så ska man komma till www.lilypad.se och jobbet ska öppnas där.
http://dinsida.se är alltid dinsida.se, den kan inte vara något annat, så nej det går inte, sen finns det alltid walkarounds för det men jag ser detta som:
Varför skall du ha det som javascript när du ändå ha innehållet på en fysisk sida? Känns extremt korkat, om det är animationer eller liknande, fadar in den alltid vid första besöket då istället.
Vad är det du vill uppnå och varför?
Jag har javascript för alla animationer och funktionerna. Om du klickar på tex tools eller show info så är det också en del av javascriptet.
Det jag vill uppnå är att man ska vara kapabel till att se jobben jag gjort även fast man är på min blogg utan att behöva gå tillbaka till huvudsidan medvetet.
Om du bygger din meny med javascript, vilket du gör så få du lösa det med javascript, för det är rätt tydligt att du ignorera alla som vill öppna dina projekt en en annan tabb på en modern webbläsare, Du få helt enkelt inkludera dina divar på varje sida inklusive din bloggsida, eller gör ett AJAX anrop, vilket jag är tveksam på att du kan göra eftersom det är en subdomän du jobbar från och kan vara en säkerhetsspärr där.
Din struktur på sidan idag föjer inte någon direkt standard, på din startsida så kan jag aldrig komma tillbaka och läsa om dig och att du studera för webbdesign, förtuom om man trycker på "hide work", vilket inte heller stämmer om jag är på "om sidan" så döljer jag inte dina arbeten, sen slutar allt fungera för mig i alla fall.
Om jag hade gjort din sida så hade jag gjort varje utan javascript så man faktist kan besöka den, sen skriver du över trigger onclick och hämta sidan med ajax, behåll den information du vill prestendera på din innehållswrapper och ersätt den.
Annars är det ända sätt att lösa ditt problem är att du måste inkludera alla dina sidor (eller som divar) på alla dina sidor: /blog visar alltid bloggdiven, men de andra divarna är med => vilket känns som lite onödigt då det bli bara dubletter av samma sida om och om igen.
Det är det som är problemet.
Att göra allting med ajax är en smart lösning, grejen är att jag inte kan ajax.
Tack.
Du kör ju prototype JS, det ända som hade varit enklare är jQuery:
http://www.prototypejs.org/learn/in...duction-to-ajax
response texten borde du kunna formatera ut allt som är mellan <body> taggen och ersätta din befintliga <body> elements innerHTML och vips så är det ajaxifierad:
http://voigt.se/sandbox/jquery/ är ett exempel på hur man gör med jQuery, det ändra som skilljer denna kod mot den som jag skrev ovan är att jag har en querystring som säger hämtar bara AJAX datan, inget annat, men det gå lika bra att hämta all data och filtrera ut resultatet.
Redigerad: eftersom jag inte kan prototype så gjorde jag en snabb mockup i jquery för att visa hur enkelt det kan vara med ett ramverk:
<script type="text/javascript">
var navLinks = $$('#nav a');
for(var i=0;i<navLinks.length;i++) {
Event.observe(navLinks[i], 'click', respondToClick);
}
function respondToClick(e) {
e.preventDefault();
new Ajax.Request(this.href, {
method:'get',
onSuccess: function(transport){
var response = transport.responseText || "no response text";
$('content').innerHTML = response;
}
});
}
</script>
Gjorde en "fix" för prototype, den letar efter kommentaren <!--Content--> och allt mellan den och <!--/endContent--> är vad den skall rendera ut, test: http://voigt.se/sandbox/aspkoll/ajaxload/
Tack! Det där skulle jag kunna fixa, nu är mitt nästa problem hur jag ska fixa nästa och föregående-knappar, vet ej hur ajg ska bära mig åt om jag nu ska hämta html-dokument istället för divs.
Någon idé?
Det där skulle jag kunna fixa, nu är mitt nästa problem hur jag ska fixa nästa och föregående-knappar, vet ej hur ajg ska bära mig åt om jag nu ska hämta html-dokument istället för divs.
Någon idé?
vet ej hur ajg ska bära mig åt om jag nu ska hämta html-dokument istället för divs.