用js调用当前url值设为主页和加入收藏代码

首先我们来个简单的,以下的例子均为在php中实现,其他语言的类似:

<?php>
$url =  "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];
 
echo "
<a onclick=\"this.style.behavior='url(#default#homepage)';this.setHomePage('$url');\" href=\"#\">设为首页</a>
<a href=\"#\" onclick=\"javascript:window.external.AddFavorite('".$url."','名称')\" title=\"收藏到你的收藏夹\">收藏本站</a>
";
?>

上面这段代码是在php中应用的,能动态取得当前url的地址,因为如果直接用js来做这个功能,网上很多方法都是直接写死的,当然可能你的用途跟我的不一样,直接写死可能更好

这是最简单的写法,用php套js的,但是现在浏览器种类太多,难免会有些浏览器不兼容,下面来看看兼容的写法,用js来套php:

 

<?php
$url =  "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];
?>
 
<script type="text/javascript"> 
var url='<?php echo "$url" ?>'  //这里把油php取得的值加进js的变量,你也可以用在asp或其他语言的网站中,稍微改一下就好了
 
function addCookie(){  // 加入收藏夹  
    if (document.all){  
        window.external.addFavorite(url, '名称');  
    }else if (window.sidebar){  
        window.sidebar.addPanel('名称', url, "");  
    }  
}  
  
function addCookie2(){  
    try{  
        window.external.AddFavorite(url,'名称');   
    }catch(e){  
        (window.sidebar)?window.sidebar.addPanel('名称',url,''):alert('请使用按键 Ctrl+d,收藏名称');   
    }  
}  
  
function setHomepage(){  // 设置首页  
    if (document.all){  
        document.body.style.behavior = 'url(#default#homepage)';  
        document.body.setHomePage(url);  
    }else if (window.sidebar){  
        if (window.netscape){  
            try {  
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
            }catch (e) {  
                alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true");  
            }  
        }  
        var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);  
        prefs.setCharPref('browser.startup.homepage', url);  
    }  
}   
</script>  
 
<a href="javascript:setHomepage();" >首页</a>  
<a href="javascript:addCookie();">收藏</a>  

这样就完成了另外一种套用,并且兼容其他一些常见浏览器,自己可以尝试一下,复制以上代码到本机测试

zhaoan

一个不起眼的IT工作者,从事过的行业较多,医疗保健、医院、月子会所、机电、重卡、软件,涉及的岗位也较多,零售、市场、平面设计、网站设计、UI设计、前端开发、后端开发、网络布线、设备维护、服务器维护、网络推广、网站运营、新媒体运营、部门管理等等,每个岗位工作基本都能独立完成,但是涉及面广导致都不精通,学习还在继续中。。。

You may also like...