0

<a href="tel:+15555555555">1-555-555-5555</a>これにより、電話でダイヤラが起動し、FFとChromeが従来のコンピュータでデフォルトのダイヤラを起動しようとすることを私は知っています。ただし、タグ付け(具体的にはdcsMultiTrack)を実装するために、デフォルトの動作を起動する前にJavaScriptを実行する必要があります。私は次のことを試しましたが、電話をかけているのではなく、ただ座っているだけです。

<a href="tel:+15555555555" class="call_now preventPhone" onclick="trackPhone('SomeEvent', 'SomeTag','tel:+15555555555',this)">1-555-555-5555</a>


function setLocation(nextPage, target) {
    if (target == "_blank") {
        window.open(nextPage);
    }
    else {
        location.href = nextPage;
    }
}
function trackPhone(vPageUrl, vPageTitle, phone, aTag) {
    dcsMultiTrack('DCS.dcsuri', vPageUrl, 'WT.ti', vPageTitle);
    setTimeout("setLocation('" + phone + "', '" + aTag.target + "')", 500);
    return false;
}
$(document).ready(function () {
    $('.preventPhone').click(function (e) {
        e.preventDefault();
    });
});

編集:

明確にするために、dcsMultiTrackがコールバックを返すには電話アクションの起動が速すぎるため、デフォルトを防止しています。これが、tel:+...に相当するJSがあることを期待している理由です。

4

2 に答える 2

0

関数 preventDefault() を呼び出す必要はありませんか? 呼び出された場合、イベントの既定のアクション (従来のコンピューターで既定のダイヤラーを起動する) はトリガーされません。event.preventDefault()を参照してください

于 2012-07-10T12:58:54.083 に答える
0

dcsMultiTrack ソリューションを探していたときに、この投稿に出くわしました。解決策があると思います。

まず、タグを動的に作成して、後で操作できるようにします。

var myLink = document.createElement('a');
myLink.setAttribute('id','myPhoneLink');
myLink.setAttribute('href','javascript://');
var myTextNode = document.createTextNode('1-555-555-5555');
myLink.appendChild(myTextNode);

基本的に、これはクリックされても何もしないリンクを作成します。

関数内で、属性 href の値を変更できます。

myLink.setAttribute('href','tel:+15555555555');

これで、リンクが機能します。次のような条件ステートメントを持つ別の関数に、この 1 行を含めることができます。

var myCheckFunc = function(){
    if(condition){
      myLink.setAttribute('href','tel:+15555555555');
    }else{
        myCheckFunc();
    }

このようにして、条件が満たされるまで関数が自分自身を呼び出します。これにより、リンクを変更する準備ができたときにリンクの href が変更されます。

ここで、Webtrends に関して投稿する質問があります。管理者の設定を手伝っていただければ幸いです。

バナーがクリックされると、次の関数が呼び出されます

 dcsMultiTrack('DCSext.Carousel','Home','WT.ti','Home',
 'WT.pc','Banner;Position','WT.pn_sku',tempPC,'WT.tx_u',
 tempQuantity,'WT.tx_s',tempQuantity);

カルーセルがホーム、バナー、および位置であることを示す 3 列のレポートで結果を表示するレポートをセットアップするにはどうすればよいですか?

于 2013-01-16T19:42:26.427 に答える