Welcome to WebmasterWorld Guest from 184.108.40.206
Forum Moderators: incrediBILL
Is there an element on the page that might be "covering" the link? It can happen with absolutely positioned elements. If part of the margin (for example) spills over a link, the link does not work as the browser thinks that the click is on the object over the link.
STOP USING LOCAL FILES TO DEVELOP YOUR CODE!
The problem is almost certainly a local file path not being recognised. Use a personal web server to run a private server on your own PC.
If you're using XP (might need Pro) you can install IIS which will work wonderfully for you. It supports multiple host headers so you can run as many sites as you want from local directories on your hard drive.
Control Panel -> Add/Remove Programs -> Add/Remove Windows Components
Tick the box for 'Internet Information Services'. Click 'Details' and make sure you untick the FTP and SMTP services, you won't need those.
Another server I've used is Web Weaver, but only supports 1 site unless you pay for it.
Next you need to create a local DNS. Edit the file:
Add entries for some dummy DNS names, like:
Now, using IIS create a web site with the same 'host header' and point the root folder at your web files.
Now, when you try to access local.mydomain.co.uk your local server will pick it up, and run it exactly like it's on the net.
The hand cursor shows when I go move over the link. When I click it nothing happens.
Has anyone ever had such an insane thing happen?
Yes, I have seen this happen - (un)fortunately I wasn't on the frontline to debug it at the time! It was also running a site locally (off a CD), it may have been IE7/Vista but I can't be sure on that. I'm not sure that a satisfactory solution was ever found (to our problem), but the code was never broken down to just the bare links as far as I'm aware.
If you have a minimal code snippet that reliably produces this issue when run locally I'd be interested to see it! Which browser(6/7) and OS (XP/Vista) are you testing?
Certainly Dabrowski's suggestion of developing on a web server is a good one. If you're not on XP Pro (or whatever version of Vista you need to run IIS) then consider installing Apache (there are some easy installs available).
I will go strip down the code, test it and paste it here. The first page it happened to I rebuilt and it now works, but the same thing started on another page.
<li><a href="about.html">About Us</a></li>
<li><a href="contact.html">Contact Us</a></li>
I strip down the page to nothing but the links, save it, reload the browser, click on them and nothing happens. Then I resave the page under a different name and it works. Seems like before I tried renaming the page and it didn't work, but have tried so many tests... who remembers.
I'm running win xp pro
I used to have apache installed but only used it when doing some php stuff.
Being able to use 'root relative' links (eg. "/img/smile.gif") in the CSS and HTML was a big enough reason for me to start developing on a web server. IMHO having to use relative links everywhere makes your code harder to maintain and altogether less reusable.
I strip down the page to nothing but the links ... resave the page under a different name...
I think we'll need to see more than simply your links... DOCTYPE, headers, the entire page. And importantly what were you calling the page initially? Presumably you have no stylesheet applied?
Are the browser settings at their default? Any security software installed that could effect browser behaviour? Any untoward BHO (Browser Helper Objects) intsalled?
The page works, I ftp it off the server to a different computer and it doesn't work in IE
So, it works ON A WEB SERVER, but NOT OFF A WEB SERVER. What do you think might be the problem?
Install IIS on your machine, it's free, and will take you 10 mins. That's less time than you've spent in this thread trying to botch it.
I'll admit I'm not sure, but I do know this: Dabrowski's solution cures the symptoms, but not the disease... Or, put another way, it's no solution at all, since you still don't know what's causing the problem; it's just "out of sight, out of mind."
(And STOP SHOUTING!) ;)
As long as it works on a web server it is not a problem, but since I have never had this occur before I think something must be screwy somewhere. Was going to write it off to gremlins till it happened on yet another computer.
(And STOP SHOUTING!) ;)
Sorry, I should have used bold instead. It always annoys me when people send me emails in caps!
Dabrowski's solution cures the symptoms, but not the disease
Or you could say, it cures the symptoms because it cures the disease.
I can't believe I'm even being drawn into a discussion about this. IE certainly, not sure about FF, has always treated local files differently. Linking in local files works differently to the way you *should* be linking in server files.
The fact is, you cannot professionally develop a web site, without a web server.
Install IIS on your PC. This will not only fix your problem, but give you a more reliable development platform.
...I strip down the page to nothing but the links, save it, reload the browser, click on them and nothing happens. Then I resave the page under a different name and it works.
it must be something to do with the cached version of the page, there is nothing else it can be.
that might explain why it only messes up in one browser, as the settings for the cache might be different.
can you put headers on the page? stick some on to make it uncacheable and see if the problem reoccurs. if it doesn't then you'll know it's that.
try putting a
tag in the head as well -- it might be having trouble recognising where the page is stored on your local machine.
<base href="http://www.example.com/" />
though, if you're not using a local server.
<base href="C:/directory/" />
I right click the 3rd link and click open in new window and nothing happens. I right click and click copy shortcut, paste it to a new window and it works. I can also see the correct path at the bottom of the browser window when I hover over it.
Again I delete flash from the page, close the browser and reload the page, without the flash. All links work.
Now this never happened with the previous version of flash. So I go make a new file in Flash 8. Some quick animated text and then I add two links to the html page. Neither link works.
Ok, so I go open an old flash thing I did for a site with version 8 and set some links on the page. It works fine.
At least you solved it.
It's possible that one of those comments was broken - thus commenting out the entire page. I've done that occasionally by accident with a malformed SSI.
Still install IIS. Grrrr
Funny they do the exact opposite! Maybe they need to be removed from around the flash and made to apply to the entire page.
<!-- saved from url=(0013)about:internet -->
This is the generic "Mark Of The Web" (MOTW) [msdn2.microsoft.com]. Although it is not quite right! It should read:
<!-- saved from url=(0014)about:internet -->
...and enables the page to run in a different security zone. The number indicates the length of the URL. In this case "about:internet" = 14 bytes. (Although 13 was indeed incorrectly stated on MSDN sometime ago and this may be where the error stems!?) If you specify '0013' IE will only look at the first 13 chars to decide the security zone. This could be a problem!?
The other lines above this are just plain comments.
As you suggest, the MOTW is necessary (in IE) in order to be able to run active content locally (or off a CD). Unless you have manually changed the security settings in IE. Whenever you save a file off the internet in IE, IE automatically adds a MOTW line to every page.
Maybe they need to be removed from around the flash and made to apply to the entire page.
The MOTW always applies to the entire page and needs to be in the first 2KB of the HTML markup.
Actually, it has just dawned on me why the link is not working! Yes, removing the MOTW from this page sorts the problem. But also, adding the MOTW to the destination page would also solve the problem! (I assume the destination page of the links that don't work, do not have a MOTW!?) It is because you are trying to navigate from one security zone to the other, or rather a low security zone to a high one, ie. Internet to Local! You can't for instance follow a link from a page on the internet to a file on your local machine.
So, you really need to add MOTW to every page, not remove it! Or install a web server, which I think has been mentioned already! ;)
Without the mark of the web comment I get the annoying pop up that asks if I want to allow blocked content. The flash will run after I say yes and my links work.
With the comment in place the flash will run without asking if I want to run blocked content, which I guess is the purpose of the comment. But my text links which have nothing to do with the flash will not work.
I see no reason why the comment should affect my links but it does.
Installing a web server would have solved the problem, but I still would not have known what was causing it. Now I have actually learned something that will probably come in handy one day.
No, that didn't work.
And you added the MOTW comment to both the page with the link and to the page that the link goes to? In otherwords, all your pages? Cleared your cache, closed and opened your browser? (I tend to add the MOTW just below the DOCTYPE.)
Yes I did put the comments on the page that I linked to, but now that I understand the purpose of the comment I see that would make no sense.
My solution is to toss out the comments and turn the annoying popup off in the browser settings.
It would be interesting to see if someone can duplicate the problem.
Flash CS3 generated the comment and put it right after the body tag. I moved it up to right after the doc type and changed the 13 to 14 and it still doesn't work. There is also one other comment right before the close of the script
); //end AC code