IE9 下實現Web系統快捷方式到系統開始選單中

暖楓無敵發表於2012-12-04

        最近發現使用IE9下登入CSDN部落格的時候頁面頂部提示一個快捷方式新增,研究了一下,發現使用到了一個js,然後下載下來,使用了一下,成功了,現在和大家分享一下。

        首先看幾張圖:

                                                                圖一  系統登入首頁提示新增到開始選單

 

點選“新增”按鈕以後,

                                                                    圖二  彈出提示框

新增完成以後,到開始選單中檢視

                                     圖三   已經新增到開始選單中

下面介紹下實現步驟:

1、建立一個名為 ie9sitemode.js 的js檔案,內容如下:

var static_host = 'http://static.blog.csdn.net';
var home_host = 'http://blog.csdn.net';
$(function () {
    if (supportSiteMode()) {
        //新增IE9特殊head
        set__Header();
        //判斷是否已經固定網站
        if (window.external.msIsSiteMode()) {
            get__Articles();
            setInterval("get__Articles()", 30000);
        } else {
            //新增當前網址到開始選單
            show__AddButton();
        }
    }
});
function set__Header() {

    var s1 = '<link rel="shortcut icon" type="image/x-icon" href="' + static_host + '/images/icon/csdn_48.ico" />';
    var s2 = '<meta name="application-name" content="CSDN.NET" />';
    var s3 = '<meta name="msapplication-tooltip" content="CSDN.NET - 全球最大中文IT社群" />';
    var s4 = '<meta name="msapplication-task" content="name=CSDN論壇;action-uri=http://community.csdn.net/;icon-uri=' + static_host + '/images/icon/bbs_24.ico" />';
    var s5 = '<meta name="msapplication-task" content="name=CSDN部落格;action-uri=http://blog.csdn.net/;icon-uri=' + static_host + '/images/icon/blog_24.ico" />';
    $('head').append($(s1)).append($(s2)).append($(s3)).append($(s4)).append($(s5));
}
function show__AddButton() {
    var div = document.createElement('div');
    div.style.position = 'absolute';
    div.style.left = '0px';
    div.style.top = '0px';
    div.style.display = 'block';
    div.style.width = '100%';
    div.style.height = '26px';
    div.style.backgroundColor = '#ffffdd';
    div.style.textAlign = 'center';
    div.style.borderBottom = 'solid 1px #ccc';
    div.innerHTML = '<span style="font-size:14px;font-family:微軟雅黑;">將CSDN首頁新增到您的開始選單,實現快速訪問。</span>'
        + '<input type="button" value="新增" style="font-size:12px;width:40px;" onclick="window.external.msAddSiteMode();" />'
        + '<a style="float:right;margin:-20px 10px 0 0;found-weight:bold;font-family:Verdana;" title="關閉" href="javascript:void(0);" onclick="javascript:this.parentNode.style.display=\'none\';return false;">X</a>';
    document.body.appendChild(div);
}
var art__ids = '';
function get__Articles() {
    $.getScript(home_host + '/article/newesthome.html?top=2&callback=show__Articles');
}
function show__Articles(ret) {
    var ids = '';
    for (var i = 0; i < ret.length; i++) {
        ids += (ret[i].id);
    }
    if (ids && art__ids != ids) {
        art__ids = ids;

        window.external.msSiteModeClearJumpList();
        //建立一個自定義欄目
        window.external.msSiteModeCreateJumpList('最新推薦文章');
        for (var i = 0; i < ret.length; i++) {
            //為欄目新增條目
            window.external.msSiteModeAddJumpListItem(ret[i].title, ret[i].url, static_host + "/images/icon/flag_red_48.ico");
        }
        //顯示該欄目
        window.external.msSiteModeShowJumpList();
        //改變工作列的圖示
        //window.external.msSiteModeSetIconOverlay('', 'title');
        //圖示閃爍
        window.external.msSiteModeActivate();
    }
}
function supportSiteMode() {
    try { return ('msIsSiteMode' in window.external); }
    catch (err) { return false; }
}

 

2、在自己的登入頁面頭部中新增引用jquery和上面的js共2個js檔案即可,如下(根據自己實際情況,修改存放js的路徑):

<script src="Js/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="Js/ie9sitemode.js" type="text/javascript"></script>


 PS:ie9sitemode.js檔案中連線地址和描述文字,可以根據需要進行適當修改即可。

相關文章