Wirwar
asked on
Retrieve the url by mouseover a link in a page loaded in an iframe
Hi experts,
I made an html application (.hta) which acts as a toolbar of a website which is loaded into an iframe. When browsing the website (a webshop) I can retrieve all kind of data from the loaded page and there are options, for example, to reload the webpage on a different server.
Because it's an hta there is no status bar. Now I'm missing information about the hyperlinks in the loaded webpage. A link added to the website via the CMS is dynamically changed into a hyperlink as used on the webpage. So when hyperlinks go wrong it is needed to see what the system has done with it.
In a normal browserwindow you can easily mouseover the link and the statusbar is showing the full url.
As said, there is no statusbar and I wonder if its possible to retrieve this information on a different way.
It would be great if could write the url to a textfield in the parent toolbar , by mouse over a link in the loaded website.
Below there is some samplecode:
The toolbar:
<html>
<head>
<title>Test</title>
<HTA:APPLICATION APPLICATIONNAME="Test">
</head>
<body>
<form name="showurl">
Now you're pointing to: <input type="text" name="url" id="url" size="30">
</form>
<iframe id="theshop" name="theshop" src="website.html"></ifram e>
</body>
</html>
A page loaded into this toolbar, with two links:
<html>
<head>
<title>Webpage</title>
</head>
<body>
<a href="http://www.google.com">Google</a>
<br>
<a href="http://www.yahoo.com">Yahoo</a>
</body>
</html>
So the idea is to mouse over the link on website.html and show it on the form in toolbar.hta
This should be done by code in the toolbar, I can't add code to the webpage code
Thanks in advance!
Waldemar
I made an html application (.hta) which acts as a toolbar of a website which is loaded into an iframe. When browsing the website (a webshop) I can retrieve all kind of data from the loaded page and there are options, for example, to reload the webpage on a different server.
Because it's an hta there is no status bar. Now I'm missing information about the hyperlinks in the loaded webpage. A link added to the website via the CMS is dynamically changed into a hyperlink as used on the webpage. So when hyperlinks go wrong it is needed to see what the system has done with it.
In a normal browserwindow you can easily mouseover the link and the statusbar is showing the full url.
As said, there is no statusbar and I wonder if its possible to retrieve this information on a different way.
It would be great if could write the url to a textfield in the parent toolbar , by mouse over a link in the loaded website.
Below there is some samplecode:
The toolbar:
<html>
<head>
<title>Test</title>
<HTA:APPLICATION APPLICATIONNAME="Test">
</head>
<body>
<form name="showurl">
Now you're pointing to: <input type="text" name="url" id="url" size="30">
</form>
<iframe id="theshop" name="theshop" src="website.html"></ifram
</body>
</html>
A page loaded into this toolbar, with two links:
<html>
<head>
<title>Webpage</title>
</head>
<body>
<a href="http://www.google.com">Google</a>
<br>
<a href="http://www.yahoo.com">Yahoo</a>
</body>
</html>
So the idea is to mouse over the link on website.html and show it on the form in toolbar.hta
This should be done by code in the toolbar, I can't add code to the webpage code
Thanks in advance!
Waldemar
ASKER
I'm not sure.. reading the code it looks good (I didn't know the contentDocument property) but I'm getting a javascript error "contentDocument is empty in line 10" (I entered the correct url in the iframe, the website.html from my original question)
The error appears both in the 'toolbar' loaded as hta or loaded as html like in your example code.
I tried a few changes in the code, but still getting the error.
The error appears both in the 'toolbar' loaded as hta or loaded as html like in your example code.
I tried a few changes in the code, but still getting the error.
ASKER
A little more research brought me to a small change in the code: contentWindow
Now it works exactly as described!
Thanks!
Now it works exactly as described!
Thanks!
<html>
<head>
<title>Test</title>
<HTA:APPLICATION APPLICATIONNAME="Test">
<script type="text/javascript">
function link(theFrame) {
allLink = theFrame.contentWindow.document.getElementsByTagName('a')
for(i = 0;i< allLink.length; i++) {
allLink[i].onmouseover = function showthelink() {top.document.getElementById('url').value=this.href;}
}
}
</script>
<style>
iframe#theshop {height: 500px; width: 800px;}
</style>
</head>
<body>
<form name="showurl">
<input type="text" name="url" id="url" size="100">
</form>
<iframe id="theshop" name="theshop" src="http://www.amazone.com/" onload="link(this);"></iframe>
</body>
</html>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Open in new window