【问题标题】:What does the "+e+" mean in this Javascript?这个 Javascript 中的“+e+”是什么意思?
【发布时间】:2016-11-15 00:47:53
【问题描述】:

谁能帮我一把,告诉我这个“+e+”在下面的脚本中做了什么(取自

https://tracking.crealytics.com/lib/multi_conversion.min.js

)?我用黑色突出显示它:

(函数(){var t,e,n;this.__multi_conversion_tracking=function(e,n){var i,c,r;return i=document.getElementsByTagName("body")[0],c=document.createElement("div"),c.id="multi_conversion_tracking",c.style.display="none",r=document.createElement(" iframe"),r.src=t(e,n,1),c.appendChild(r),i.appendChild(c)},n=function(){return"https:"===location.protocol。 toLowerCase()?"https":"http"},t=function(t,e,i){return null==i&&(i=1),""+n()+"://tracking.crealytics.com/"+t+"/multi_check.php ?data="+e+" &random="+(new Date).getTime()+" &frame="+i},e=function(t,e){return-1!==t.indexOf(e,t.length-e.length)}}).call(this);

我试图弄清楚为什么这个脚本没有正确解析以下标签:

 <script
 src="https://tracking.crealytics.com/lib/multi_conversion.min.js"></script>
 <script type="text/javascript"> var transactionString =
 {{CrealyticsProductsInfo}};__multi_conversion_tracking(70,
 "transactionString"); </script> <noscript> <div style="display:inline;"> <img
 src="https://tracking.crealytics.com/70/multi_check.php?data=transactionString">
 </div> </noscript>

这是我在跟踪代码中给变量的赋值:

     var divElement = document.createElement("Div"); 
     divElement.id = "transactionString"; 
     divElement.setAttribute('data-transaction-string', products_info);

它应该模仿以下 div 元素:

&lt;div id='transactionString' data-transaction-string='DATA'&gt;&lt;/div&gt;

【问题讨论】:

    标签: javascript html tags


    【解决方案1】:

    这段 javascript 代码中的“+e+”部分只是 var e 与其他元素的串联以创建一个字符串。

    【讨论】:

      【解决方案2】:

      multi_conversion_tracking 函数有两个参数,e 和 n。第一个参数 (e) 的值将附加到使用 + e +

      组成的查询字符串中的数据参数

      【讨论】:

      • 但是在这种情况下 e 的值是什么,是 'data-transaction-string' 属性
      • 看起来应该是 70 _multi_conversion_tracking(70, "transactionString");
      【解决方案3】:

      你可以用 this 将一个字符串与一个或多个变量连接起来。

      例如

      var e = "johan855";
      var string = "Hello " + e + ".";
      console.log(string);
      

      和/或

      var e = "johan855";
      var a = "Hello ";
      var dot = ".";
      var string = a + e + dot;
      console.log(string);
      

      会输出

      Hello johan855.
      

      【讨论】:

        【解决方案4】:

        e 它只是函数 t 的参数。它将 e 参数与 url 的其他部分连接起来。

        __multi_conversion_tracking 调用t函数r.src = t(e, n, 1)

        (function() {
            var t, e, n;
            this.__multi_conversion_tracking = function(e, n) {
                var i, c, r;
                return i = document.getElementsByTagName("body")[0],
                       c = document.createElement("div"),
                       c.id = "multi_conversion_tracking",
                       c.style.display = "none",
                       r = document.createElement("iframe"),
                       r.src = t(e, n, 1),
                       c.appendChild(r),
                       i.appendChild(c)
            }, n = function() {
                return "https:" === location.protocol.toLowerCase() ? "https" : "http"
            }, t = function(t, e, i) {
                return null == i && (i = 1), "" + n() + "://tracking.crealytics.com/" + t + "/multi_check.php ?data=" + e + " &random=" + (new Date).getTime() + " &frame=" + i
            }, e = function(t, e) {
                return -1 !== t.indexOf(e, t.length - e.length)
            }
        }).call(this)
        

        【讨论】:

          猜你喜欢
          • 2012-05-06
          • 2010-11-06
          • 1970-01-01
          • 1970-01-01
          • 2020-03-03
          • 2015-09-21
          • 2019-05-07
          • 1970-01-01
          相关资源
          最近更新 更多