如何深入-link 网站
How to deep-link in websites
<a class="grey-text text-lighten-3" target="_blank" href="javascript:void(0);" onclick="document.write(yourOS())">Instagram</a>
function yourOS() {
var ua = navigator.platform.toLowerCase();
if (ua.indexOf("android") != -1) {
document.write(.link("instagram://user?username=owendunnigan"));
} else {
.link("http://www.instagram.com/OwenDunnigan");
}
}
我正在尝试将 link 应用程序深入我的网站,但我不知道如何让它在计算机上转到常规的旧 Instagram,然后转到 [=14 上的应用程序=] 或 iOS 设备。我知道 link 有效,因为我单独试用了它们。
我会以不同的方式处理这个问题。而不是 onclick 检查源,我会做这个 onload。所以:
<script>
function onLoad(){
var urlLink = "http://www.instagram.com/OwenDunnigan";
var urlLink2 = "http://www.twitter.com/OwenDunnigan";
var urlLink3 = "http://www.facebook.com/OwenDunnigan";
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1;
if(isAndroid) {
urlLink = "instagram://user?username=owendunnigan";
urlLink2 = "twitter://user?username=owendunnigan";
urlLink3 = "facebook://user?username=owendunnigan";
}
document.getElementById('yourLink').setAttribute('href', urlLink);
document.getElementById('yourLink2').setAttribute('href', urlLink2);
document.getElementById('yourLink3').setAttribute('href', urlLink3);
}
window.onload = onLoad;
</script>
<a id="yourLink" class="grey-text text-lighten-3" target="_blank">Link</a>
我在我的 android 设备/笔记本电脑上测试了它,它对两者都有效。
编辑:下流和肮脏的方式。您可以通过让 onload 函数调用传入变量的函数来制作更面向对象的风格,但为了简单起见,这样做就可以了。
编辑2:
<script>
function getMobileOperatingSystem() {
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
if( userAgent.match( /iPad/i ) || userAgent.match( /iPhone/i ) || userAgent.match( /iPod/i ) )
{
return 'iOS';
}
else if( userAgent.match( /Android/i ) )
{
return 'Android';
}
else
{
return 'unknown';
}
}
function onLoad(){
var urlLink1 = "http://www.instagram.com/OwenDunnigan";
var urlLink2 = "http://www.twitter.com/OwenDunnigan";
var urlLink3 = "http://www.facebook.com/OwenDunnigan";
switch(getMobileOperatingSystem()){
case 'Android':
urlLink1 = "instagram://user?username=owendunnigan";
urlLink2 = "twitter://user?username=owendunnigan";
urlLink3 = "facebook://user?username=owendunnigan";
break;
case 'iOS':
urlLink1 = "instagram://user?username=owendunnigan";
urlLink2 = "twitter://user?username=owendunnigan";
urlLink3 = "facebook://user?username=owendunnigan";
break;
default:
break;
}
document.getElementById('yourLink1').setAttribute('href', urlLink1);
document.getElementById('yourLink2').setAttribute('href', urlLink2);
document.getElementById('yourLink3').setAttribute('href', urlLink3);
}
window.onload = onLoad;
</script>
<a id="yourLink1" class="grey-text text-lighten-3" target="_blank">Link1</a>
<a id="yourLink2" class="grey-text text-lighten-3" target="_blank">Link2</a>
<a id="yourLink3" class="grey-text text-lighten-3" target="_blank">Link3</a>
清理代码并从此处引入函数:Detecting iOS / Android Operating system
您可以通过简单地扩展检测功能并添加 case 语句来添加其他系统。当然,我没有像您通常那样添加 default case 语句,但我首先调用了变量,因此我认为没有理由重置它们,但您可以用它做更多的事情。如果这不起作用,请告诉我。
从 Munsterlander 解决方案的切换可以这样写以避免重复:
switch(getMobileOperatingSystem()){
case 'Android':
case 'iOS':
urlLink1 = "instagram://user?username=owendunnigan";
urlLink2 = "twitter://user?username=owendunnigan";
urlLink3 = "facebook://user?username=owendunnigan";
break;
default:
break;
}
很抱歉没有回复上面的解决方案,但我不能。
<a class="grey-text text-lighten-3" target="_blank" href="javascript:void(0);" onclick="document.write(yourOS())">Instagram</a>
function yourOS() {
var ua = navigator.platform.toLowerCase();
if (ua.indexOf("android") != -1) {
document.write(.link("instagram://user?username=owendunnigan"));
} else {
.link("http://www.instagram.com/OwenDunnigan");
}
}
我正在尝试将 link 应用程序深入我的网站,但我不知道如何让它在计算机上转到常规的旧 Instagram,然后转到 [=14 上的应用程序=] 或 iOS 设备。我知道 link 有效,因为我单独试用了它们。
我会以不同的方式处理这个问题。而不是 onclick 检查源,我会做这个 onload。所以:
<script>
function onLoad(){
var urlLink = "http://www.instagram.com/OwenDunnigan";
var urlLink2 = "http://www.twitter.com/OwenDunnigan";
var urlLink3 = "http://www.facebook.com/OwenDunnigan";
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1;
if(isAndroid) {
urlLink = "instagram://user?username=owendunnigan";
urlLink2 = "twitter://user?username=owendunnigan";
urlLink3 = "facebook://user?username=owendunnigan";
}
document.getElementById('yourLink').setAttribute('href', urlLink);
document.getElementById('yourLink2').setAttribute('href', urlLink2);
document.getElementById('yourLink3').setAttribute('href', urlLink3);
}
window.onload = onLoad;
</script>
<a id="yourLink" class="grey-text text-lighten-3" target="_blank">Link</a>
我在我的 android 设备/笔记本电脑上测试了它,它对两者都有效。
编辑:下流和肮脏的方式。您可以通过让 onload 函数调用传入变量的函数来制作更面向对象的风格,但为了简单起见,这样做就可以了。
编辑2:
<script>
function getMobileOperatingSystem() {
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
if( userAgent.match( /iPad/i ) || userAgent.match( /iPhone/i ) || userAgent.match( /iPod/i ) )
{
return 'iOS';
}
else if( userAgent.match( /Android/i ) )
{
return 'Android';
}
else
{
return 'unknown';
}
}
function onLoad(){
var urlLink1 = "http://www.instagram.com/OwenDunnigan";
var urlLink2 = "http://www.twitter.com/OwenDunnigan";
var urlLink3 = "http://www.facebook.com/OwenDunnigan";
switch(getMobileOperatingSystem()){
case 'Android':
urlLink1 = "instagram://user?username=owendunnigan";
urlLink2 = "twitter://user?username=owendunnigan";
urlLink3 = "facebook://user?username=owendunnigan";
break;
case 'iOS':
urlLink1 = "instagram://user?username=owendunnigan";
urlLink2 = "twitter://user?username=owendunnigan";
urlLink3 = "facebook://user?username=owendunnigan";
break;
default:
break;
}
document.getElementById('yourLink1').setAttribute('href', urlLink1);
document.getElementById('yourLink2').setAttribute('href', urlLink2);
document.getElementById('yourLink3').setAttribute('href', urlLink3);
}
window.onload = onLoad;
</script>
<a id="yourLink1" class="grey-text text-lighten-3" target="_blank">Link1</a>
<a id="yourLink2" class="grey-text text-lighten-3" target="_blank">Link2</a>
<a id="yourLink3" class="grey-text text-lighten-3" target="_blank">Link3</a>
清理代码并从此处引入函数:Detecting iOS / Android Operating system 您可以通过简单地扩展检测功能并添加 case 语句来添加其他系统。当然,我没有像您通常那样添加 default case 语句,但我首先调用了变量,因此我认为没有理由重置它们,但您可以用它做更多的事情。如果这不起作用,请告诉我。
从 Munsterlander 解决方案的切换可以这样写以避免重复:
switch(getMobileOperatingSystem()){
case 'Android':
case 'iOS':
urlLink1 = "instagram://user?username=owendunnigan";
urlLink2 = "twitter://user?username=owendunnigan";
urlLink3 = "facebook://user?username=owendunnigan";
break;
default:
break;
}
很抱歉没有回复上面的解决方案,但我不能。