.... ja det beror på vad du har för "loop" på dina bilder... jag hade gjort:
<img src='...' id='bild" & recset("id") &"'/>
då får alla dina bilder det id som den har i databasen..
eller i ditt fall med reg.exp "träffen" kan ju vara ditt ID..
6 svar · 542 visningar · startad av Frezze
Hejsan.
Fixar med en funktion som minskar ner bilder om de är större än 500px i Javascript, så långt är det okej. Dock vill Javascriptet ha ett unikt ID för varje bild så därför måste jag skapa en funktion i RegExp som först ändrar om <img>http://sida.se/bild.jpg\</img>
till
<a href="http://sida.se/bild.jpg" target="_blank"><img id="uniktid" onload="scaleImg('uniktid')" src="http://sida.se/bild.jpg" alt="" /></a>
Och då genrerar ett unikt ID där jag skrivit uniktid. Hur ska detta gå till? Funderade på att köra en funktion som loopar igenom alla de den hittar med <img> för att ta ut bild.jpg och ha de som unikt id, dock har jag redan en sådan funktion till att ta fram och hantera länkar i min RegExp. kod (som gör att jag tydligen inte kan göra det fler gånger, eller har jag fel?), så jag sitter fast.... Eller det kanske är enklare att modifiera om Javascriptet (finner ni nedan)?
Tack på förhand!
<script language="JavaScript" type="text/javascript">
var saveWidth = 0;
function scaleImg(what){
what = document.getElementById(what);
if (navigator.appName=="Netscape")
winW = window.innerWidth;
if (navigator.appName.indexOf("Microsoft")!=-1)
winW = document.body.offsetWidth;
if (what.width>(winW-100) || saveWidth>(winW-100)) {
if (what.width==(winW-100))
what.width=saveWidth;
else
{
saveWidth = what.width;
what.style.cursor = "pointer";
what.width=(winW-100);
}
}
}
</script>
.... ja det beror på vad du har för "loop" på dina bilder... jag hade gjort:
<img src='...' id='bild" & recset("id") &"'/>
då får alla dina bilder det id som den har i databasen..
eller i ditt fall med reg.exp "träffen" kan ju vara ditt ID..
voigtann1 skrev:
.... ja det beror på vad du har för "loop" på dina bilder... jag hade gjort:
<img src='...' id='bild" & recset("id") &"'/>då får alla dina bilder det id som den har i databasen..
eller i ditt fall med reg.exp "träffen" kan ju vara ditt ID..
Ditt första förslag går inte eftersom om användaren skulle trycka in fler bilder i sin post än vad han redan har så får ett antal bilder samma ID.
Dock låter de här med reg.exp "träffen" intressant, hur får jag fram den? Eller är det något jag måste skapa?
har du någon befintlig regExp syntax?
Annars exempel:
<a href....><img src='$1' id='Unik$1'/></a>
voigtann1:
Jag och RegExp tycker inte om varandra, helt klart på den punkten. Testade runt lite i koden med den kod jag redan har som fungerar (autolänkning), men det gick inge vidare. Jag bara säger det, jag är sunkig på RegExp.
Function forLinkCodeNo(text)
text = server.HTMLEncode(text)
text = Replace(text,vbCrLf,"<br />"&vbCrlf&"")
With New RegExp
.Global = true
.IgnoreCase = true
.Pattern="\Å"
text = .Replace(text,"Å")
.Pattern="\Ä"
text = .Replace(text,"Ä")
.Pattern="\Ö"
text = .Replace(text,"Ö")
.Pattern="\å"
text = .Replace(text,"å")
.Pattern="\ä"
text = .Replace(text,"ä")
.Pattern="\ö"
text = .Replace(text,"ö")
.Pattern="\&"
text = .Replace(text,"&")
.Pattern="\< *hr *>"
text = .Replace(text,"<b>$1</b>")
.Pattern="\< *b *>(.*?)\</b>"
text = .Replace(text,"<b>$1</b>")
.Pattern="\< *i *>(.*?)\</i>"
text = .Replace(text,"<i>$1</i>")
.Pattern="\< *u *>(.*?)\</u>"
text = .Replace(text,"<u>$1</u>")
.Pattern="\< *img *>(.*?)\</img>"
Set myMatches = .Execute(myString)
strIMGResult=""
intIMGhitID=0
intPos=1
For each item in myMatches
intIMGhitID = intIMGhitID + 1
If objMatch.FirstIndex>lngPos Then
strResult=strResult & Mid(text, lngPos, objMatch.FirstIndex-lngPos+1)
End If
strFound=objMatch
strFound = "<a href="""&strFound&""" target=""_blank""><img id=""pic"&intIMGhitID&""" onload=""scaleImg('pic"&intIMGhitID&"')"" src="""&strFound&""" alt="""" /></a>"
strResult=strResult & strFound
lngPos=objMatch.FirstIndex+objMatch.Length+1
Next
strIMGResult=strIMGResult & Mid(text, lngPos)
text = strIMGResult
.Pattern = "(http://|https://|ftp://)([a-z/A-Z/0-9/./_/-/-/%/?/:/~/*/(/)/!/=/&]+)"
Set objMatches=.Execute(text)
End With
Set RegExp = Nothing
strResult=""
lngPos=1
For each objMatch in objMatches
If objMatch.FirstIndex>lngPos Then
strResult=strResult & Mid(text, lngPos, objMatch.FirstIndex-lngPos+1)
End If
strFound=objMatch
If len(strFound) > 50 Then
lank = left(strFound, 25) & "..." & right(strFound, 15)
strFound = "<a href="""&strFound&""" target=""_blank"">"&lank&"</a>"
else
strFound = "<a href="""&strFound&""" target=""_blank"">"&strFound&"</a>"
end if
strResult=strResult & strFound
lngPos=objMatch.FirstIndex+objMatch.Length+1
Next
strResult=strResult & Mid(text, lngPos)
forLinkCodeNo = strResult
End Function
vad ger det för resultat vid <img id="pic..."> när du visa källa på din generarade sida?
annars inne i for each...
sätt ovanför:
dim id
id = 1
for each....
....
<img id='picID" & id &"' ....>
bör fungera också :e
Det känns som att det vore smidigare att ändra Javascriptet, så att det tar emot en referens till bilden, i stället för ett ID.