/    Sign up×
Community /Pin to ProfileBookmark

redirect if using a MAC

how can I redirect the user to a different page if they are using a MAC?

I tried this but it didn’t work:

[code=php]<script language=”javascript”>
mac = navigator.userAgent.indexOf(“mac”) > -1;
n = navigator.userAgent;
if(mac)if(n.indexOf(“mac.html”))
</script>[/code]

Any ideas?

Chris

to post a comment
JavaScript

4 Comments(s)

Copy linkTweet thisAlerts:
@sciguyryanOct 26.2004 — [i]Originally posted by cybercampbell [/i]

[B]

[code=php]<script language="javascript">
mac = navigator.userAgent.indexOf("mac") > -1;
n = navigator.userAgent;
if(mac)if(n.indexOf("mac.html"))
</script>[/code]
[/B][/QUOTE]



This line seems to be the problem:

if(mac)if(n.indexOf("mac.html"))

It should be (I think):

<i>
</i>if(mac){
window.location.href = "mac.html";
}


What you were doing were check ing if the variable mac is true then checking navigator.userAgent for the index of mac.html.



RyanJ
Copy linkTweet thisAlerts:
@natsOct 26.2004 — Hi Chris

The div tag needs to be repaced with the alternative CSS style page.

<%

'response.write "<font color=>" & Request.ServerVariables("HTTP_USER_AGENT") & "-" & platform & "</font>"

If instr(lcase(Request.ServerVariables("HTTP_USER_AGENT")),"mac") Then

vMac = True

Else

vMAc = False

End if

%>


<% If vMac = True Then %>

<div id="Layer5" style="position:absolute; left:352px; top:453px; width:600px; height:320px; z-index:4">

<%Else%>

<div id="Layer5" style="position:absolute; left:352px; top:456px; width:600px; height:320px; z-index:4">

<%End If%>

It allows you to have separate style sheets for mac and pc! I got it working fine and am really pleased with it!

Good luck!

Nats
Copy linkTweet thisAlerts:
@CharlesOct 26.2004 — You could use something like:

[font=monospace]<script type="text/javascript">

<!--

if (navigator.appName == 'Win32') location = 'win32.html'

</script>[/font]

But you're going to run into trouble when people start linking to your site. You'll need a full range of redirects on each page and even then you'll look the fool when the page doesn'yt work for the one in ten who do not use JavaScript. Your best bet is just one page that works for all.
Copy linkTweet thisAlerts:
@cybercampbellauthorOct 30.2004 — OK none of that seemed to work....but i found this:

[code=php]
// Browser Detect v2.1.6
// documentation: http://www.dithered.com/javascript/browser_detect/index.html
// license: http://creativecommons.org/licenses/by/1.0/
// code by Chris Nott (chris[at]dithered[dot]com)


function BrowserDetect() {
var ua = navigator.userAgent.toLowerCase();

// browser engine name
this.isGecko = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
this.isAppleWebKit = (ua.indexOf('applewebkit') != -1);

// browser name
this.isKonqueror = (ua.indexOf('konqueror') != -1);
this.isSafari = (ua.indexOf('safari') != - 1);
this.isOmniweb = (ua.indexOf('omniweb') != - 1);
this.isOpera = (ua.indexOf('opera') != -1);
this.isIcab = (ua.indexOf('icab') != -1);
this.isAol = (ua.indexOf('aol') != -1);
this.isIE = (ua.indexOf('msie') != -1 && !this.isOpera && (ua.indexOf('webtv') == -1) );
this.isMozilla = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);
this.isFirebird = (ua.indexOf('firebird/') != -1);
this.isNS = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && !this.isOpera && !this.isSafari && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );

// spoofing and compatible browsers
this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);
this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);

// rendering engine versions
this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
this.equivalentMozilla = ( (this.isGecko) ? parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) ) : -1 );
this.appleWebKitVersion = ( (this.isAppleWebKit) ? parseFloat( ua.substring( ua.indexOf('applewebkit/') + 12) ) : -1 );

// browser version
this.versionMinor = parseFloat(navigator.appVersion);

// correct version number
if (this.isGecko && !this.isMozilla) {
this.versionMinor = parseFloat( ua.substring( ua.indexOf('/', ua.indexOf('gecko/') + 6) + 1 ) );
}
else if (this.isMozilla) {
this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) );
}
else if (this.isIE && this.versionMinor >= 4) {
this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
}
else if (this.isKonqueror) {
this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
}
else if (this.isSafari) {
this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('safari/') + 7 ) );
}
else if (this.isOmniweb) {
this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('omniweb/') + 8 ) );
}
else if (this.isOpera) {
this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera') + 6 ) );
}
else if (this.isIcab) {
this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab') + 5 ) );
}

this.versionMajor = parseInt(this.versionMinor);

// dom support
this.isDOM1 = (document.getElementById);
this.isDOM2Event = (document.addEventListener && document.removeEventListener);

// css compatibility mode
this.mode = document.compatMode ? document.compatMode : 'BackCompat';

// platform
this.isWin = (ua.indexOf('win') != -1);
this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) );
this.isMac = (ua.indexOf('mac') != -1);
this.isUnix = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
this.isLinux = (ua.indexOf('linux') != -1);

// specific browser shortcuts
this.isNS4x = (this.isNS && this.versionMajor == 4);
this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
this.isNS4up = (this.isNS && this.versionMinor >= 4);
this.isNS6x = (this.isNS && this.versionMajor == 6);
this.isNS6up = (this.isNS && this.versionMajor >= 6);
this.isNS7x = (this.isNS && this.versionMajor == 7);
this.isNS7up = (this.isNS && this.versionMajor >= 7);

this.isIE4x = (this.isIE && this.versionMajor == 4);
this.isIE4up = (this.isIE && this.versionMajor >= 4);
this.isIE5x = (this.isIE && this.versionMajor == 5);
this.isIE55 = (this.isIE && this.versionMinor == 5.5);
this.isIE5up = (this.isIE && this.versionMajor >= 5);
this.isIE6x = (this.isIE && this.versionMajor == 6);
this.isIE6up = (this.isIE && this.versionMajor >= 6);

this.isIE4xMac = (this.isIE4x && this.isMac);
}
var browser = new BrowserDetect();
[/code]


which is a great browser and platform detector and works perfect.

the sorce for this was: [URL=http://www.dithered.com/]http://www.dithered.com/[/URL]

they have some other great stuff aswell.

this is how I used it to detect the platform and redirect if a mac:

[code=php]
<script type="text/javascript" src="browser_detect.js"></ script>
<script type="text/javascript">
if (browser.isMac)
{
window.location="mac.html";
}
else
{
window.location="site.html";
}
</script>
[/code]


I hope helps others.

Chris ? ? ?
×

Success!

Help @cybercampbell spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.1,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,
)...