There are some technical reasons why using the noscript tag is not a good idea for example, some user agents just ignore the tag, it'll be no good if scripting is enabled but scripts are blocked by a firewall, and technically the noscript tag is invalid, so your validation will fail too.

Better is just to place a unique identifier on the message, and then use scripting to hide that message.

In terms of the js popup link, use an ordinary link to the popup, so that non-scripted people can still access it, and use scripting to override the default behaviour of the link so that it opens as a popup instead.

this option is good,but i'm looking for someway that the popup link will be automatically replaced by another normal link!!!

is that possible?

It's difficult to interpret what you require, so let's use some key words.

The main web page is called the parent window, and the popup page will be the child window.

What is it that you want? Is it that when someone clicks a link in the parent window, that that link is loaded in the child window replacing what was there?Because if so, that's easily achieved by using the same name for the child window, and for each of the window.open commands to load a link in to that child window.

Or, is it that you want the link on the parent window to open up in the child window, and for the parent window link to be replaced by a different type of link?

In terms of the js popup link, use an ordinary link to the popup, so that non-scripted people can still access it, and use scripting to override the default behaviour of the link so that it opens as a popup instead.