ich habe jetzt auch eine "testseite" geschrieben, das grundgerüst funktioniert (ob jetzt korrekt implementiert, oder nicht)...
aufgrund von zugriffsrechten kann man natürlich nur seiten der selben domain verwenden. speichert man aber jetzt verscheidene seiten z.b. lokal ab und lädt diese in meinem frameset, funktioniert es sehr gut, soll heißen etwa 90% der links werden korrekt umrandet, der rest leider nicht -> seltsam!?!?
frameset-datei:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<frameset rows="100,*">
<frame src="javascript.html">
<frame src="about:blank" name="browserwindow">
</frameset>
</html>
und frame-datei (javascript.html):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
~~~~~~javascript
function browseto()
{
parent.browserwindow.location=document.all.url.value;
}
function mark_links()
{
var anz;
anz=parent.browserwindow.document.links.length
for(var i=0;i<anz;++i)
{
var pos;
pos=getPos(parent.browserwindow.document.links[i]);
parent.browserwindow.document.body.insertAdjacentHTML("AfterBegin", '<span id="marker' + i + '" style="position:absolute;border:1px solid red" />');
parent.browserwindow.document.getElementById('marker' + i).style.left=pos.left
parent.browserwindow.document.getElementById('marker' + i).style.top=pos.top
parent.browserwindow.document.getElementById('marker' + i).style.width=parent.browserwindow.document.links[i].offsetWidth
parent.browserwindow.document.getElementById('marker' + i).style.height=parent.browserwindow.document.links[i].offsetHeight
}
}
function getPos (o)
{
var r = { top:0, left:0 };
if(!o) return r;
else if(typeof o == 'string' ) o = document.getElementById(o);
if( typeof o != 'object' ) return r;
if(typeof o.offsetTop != 'undefined')
{
r.left = r.top = 0;
while (o)
{
if(o.offsetParent)
{
if(o.offsetParent.currentStyle.position!='relative')
{
r.top += parseInt( o.offsetTop );
r.left += parseInt( o.offsetLeft );
}
}
else
{
r.top += parseInt( o.offsetTop );
r.left += parseInt( o.offsetLeft );
}
o = o.offsetParent;
}
}
return r;
}
~~~~~~html
</script>
</head>
<body>
<div><form action=""><label for="url">URL:</label> <input id="url" size="100" /> <input type="button" value="Browse" onclick="browseto()" /></form></div>
<div><form action=""><input type="button" value="mark all links" onclick="mark_links()" /></form></div>
</body>
</html>