Created October 28, 2002
Dropdown Navigation Where Only Some Links Open New Windows
Question: I need to make a dropdown that spawns a new window for some options but not for others - in the same drop down.
Basically I need the ability to make some <option value""> open a new window others not.
Been trying to figure it out forever.
So if you choose to solve this puzzle let me know.
Answer:
Sure, here it is!
See more dropdown navigation solutions.
HTML Source
<form action="../">
<select onchange="parseNavigation(this)">
<!-- in each option, the value should -->
<!-- include a pipe "|" character before each url, -->
<!-- to open in a new window, specify a window name -->
<!-- urls may be local -->
<option>Choose a destination to open in a attribute-controlled popup window!</option>
<option value="|http://www.yahoo.com/">YAHOO</option>
<option value="GoogleWin|http://www.google.com/">GOOGLE</option>
<option value="WSDWin|http://websandiego.org/">WEBSANDIEGO</option>
<option value="|http://www.altavista.com/">ALTAVISTA</option>
<option value="|http://www.amazon.com/">AMAZON</option>
<option value="ArtLungWin|https://artlung.com/">ARTLUNG</option>
</select>
</form>
Source Code
<script type="text/javascript" language="JavaScript">
<!--
function parseNavigation(ob) {
// created by joe crawford october 2002
// https://artlung.com/lab/scripting/dropdown-only-some-new-window/
toBeBrokenDown = ob.options[ob.selectedIndex].value.split("|");
targetWindow = toBeBrokenDown[0];
targetURL = toBeBrokenDown[1];
if (targetWindow!=='') {
// if a new Window name is specified, then it will
// open in a new Window.
window.open(targetURL,targetWindow,'toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1,width=400,height=300');
// if we open a new window, then we have to re-set
// the select box to the first option
// which should have no value
ob.selectedIndex = 0;
} else {
// or else it will open in the current window
window.open(targetURL,'_top')
}
}
//-->
</script>