Forum Moderators: open
Existing Script:
<script language="JavaScript">
<!--
var myArray = [];
myArray[0]= 'domain1';
myArray[1]= 'domain2';
myArray[2]= 'domain3';
myArray[3]= 'domain4';
myArray[4]= 'domain5';
for(var i=0;
i<5;
i++) {
if (document.referrer.indexOf(myArray[i]) > -1)
{
document.write('Some Text inserted here');
}
// insert else here?
}
//-->
</script>
Something like:
else document.write('Some other Text to insert here');
My problem is that when I put in the else clause, it inserts the alternate text 5 times
[edited by: eelixduppy at 5:35 pm (utc) on Feb. 14, 2009]
[edit reason] formatting [/edit]
It works perfectly - You are the MAN.
Here is the entire code for the benefit of future readers.
<script language="JavaScript">
<!--
var myArray = [];
myArray[0]= 'domain1';
myArray[1]= 'domain2';
myArray[2]= 'domain3';
myArray[3]= 'domain4';
myArray[4]= 'domain5';
var found = false;
for(var i=0;
i<5;
i++) {
if (document.referrer.indexOf(myArray[i]) > -1)
{
document.write('Some Text inserted here');
found = true;
}
if ( found === false ) { document.write('Some Other Text inserted here'); }
}
//-->
</script>
[edited by: eelixduppy at 5:36 pm (utc) on Feb. 14, 2009]
[edit reason] formatting [/edit]
<script type="text/javascript">
var myArray = [
'domain1',
'domain2',
'domain3',
'domain4',
'domain5'
];
var i, numDomains = myArray.length, found = false;
for (i = 0; i < numDomains; i++) {
if (document.referrer.indexOf(myArray[i]) > -1) {
document.write('Some Text inserted here');
found = true;
}
}
if (!found) {
document.write('Some Other Text inserted here');
}
</script>
Note also that the "language" attribute is invalid. You should be using the type attribute instead. Also, don't put HTML comments inside the script tag. This is left over Netscape 1 which is long dead.
Lastly, this bit of code will need to be placed in your HTML page because of the document.write call. A better alternative would be to keep this totally separated from your markup and then use DOM methods to insert the text, but for now this should work for you.
[edited by: Fotiman at 3:22 pm (utc) on Feb. 13, 2009]
<script type="text/javascript">
var myArray = [
'domain1',
'domain2',
'domain3',
'domain4',
'domain5'
];
var i, numDomains = myArray.length, found = false;
for (i = 0; i < numDomains; i++) {
if (document.referrer.indexOf(myArray[i]) > -1) {
found = true;
}
}
document.write((found ? 'Some Text inserted here' : 'Some Other Text inserted here'));
</script>