4
   goog_snippet_vars = function(){
var w = window;
w.google_conversion_id ="xxxxx";
w.google_conversion_label ="xxxxxx";
w.google_conversion_value ="xxxxxx";
},
goog_report_conversion = function(url) {
goog_snippet_vars();
window.google_conversion_format = '3';
window.google_is_call = true;
var opt = new Object();
opt.onload_callback = function() {
if (typeof(url) != 'undefined') {window.location = url;}
}
var conv_handler = window['google_trackConversion'];
if (typeof(conv_handler) == 'function') {conv_handler(opt);}
}
</script>

我正在使用来自服务器的 stringbuilder 将上述代码转储到页面(onload)中。我正在使用 string.format 从服务器端生成 html 到网页上没有显示的电话,点击时必须调用上述脚本中的函数之一。我为此使用了以下代码

string.Format("<a href=\"tel:{0}\" onclick=\"Javascript: goog_report_conversion(tel{0}); return false;\">{0}</a>", PhoneNumber));

一切都很好 html 适用于电话号码。问题在于点击它没有点击该功能,它只是导航到以 url 作为 href 值的新页面。

所以如果有任何解决方法请帮助我......谢谢......

4

2 回答 2

3

最后我解决了这个问题。主要问题是将参数传递给脚本函数。我们必须传递一些东西,比如 goog_report_conversion(567678899);

为此,我使用了 regex.replace 函数来删除特殊字符,如下所示

Regex.Replace(sPhone,"[()' '-]","");

并在函数调用时将其传递给参数。现在我生成的 html 如下所示

<a onclick="Javascript: goog_report_conversion(2818669180); return false;" href="tel:(281) 866-9180">(281) 866-9180</a>

所以,最后我以上述方式解决了我的问题。感谢所有试图帮助我的人......

于 2012-12-11T11:05:30.667 回答
0

请尝试将此作为您的第一个代码段

<script type="text/javascript">
    goog_snippet_vars = function() {
        var w = window;
        w.google_conversion_id ="xxxxx";
        w.google_conversion_label ="xxxxxx";
        w.google_conversion_value ="xxxxxx";
    };
    goog_report_conversion = function(url) {
        goog_snippet_vars();
        window.google_conversion_format = '3';
        window.google_is_call = true;
        var opt = new Object();
        opt.onload_callback = function() {
            if (typeof(url) != 'undefined') {window.location = url;}
        }
        var conv_handler = window['google_trackConversion'];
        if (typeof(conv_handler) == 'function') {conv_handler(opt);}
    };
</script>

第二个片段是这样的:

string.Format("<a href=\"tel:{0}\" onclick=\"javascript:goog_report_conversion('tel:{0}'); return false;\">{0}</a>", PhoneNumber));

那么,你能发布你的程序吐出的结果 HTML 吗?(仅包含其属性的 a 标签就足够了)。

更新:我认为您的电话号码格式会导致错误。您写道,您的 string.Format 调用的结果是

<a onclick="Javascript: goog_report_conversion(tel(xxx) xxx-xxxx); return false;" href="tel:(xxx) xxx-xxxx">(xxx) xxx-xxxx</a>

x 代表数字。这有两个问题:

  1. 这是一个 JS 语法错误,goog_report_conversion(url) 的参数应该是一个字符串,类似于goog_report_conversion('tel:xxxxxxxxxx'). 此错误还会阻止return false;执行。

  2. 电话号码格式可能是个问题,虽然我不确定,因为我不确定tel:URL 可以有什么格式。您可能应该去掉数字中的括号/括号和空格,并遵守我在这里链接的指南:可能有用的链接 1可能有帮助的链接 2

更新 2此链接可能有用,它描述了“tel:”URL 的语法。

希望有帮助!:)

于 2012-12-07T08:51:33.860 回答