1

出力を表示する特定の関数を含むこのコードがあります。JSON からボタンの onclick() イベントに送られる {{url}} 値を取得する必要があります。このコードの下に記載されています。以下のコード内のスニペットを参照して、「その他」を検索してください。その onclick() を持つボタン。

 fixlinedetail: function () {


                window.tBuilder.tpl[tType.linedetail] = function (a) {
                    var b = $("#dvLineReview_Buttons .button.shiny-blue").css({'vertical-align': 'top', width: (setting.basic.screenW - 105) + 'px', 'height':'33px', 'text-shadow':'none', 'top':'0', 'margin-top':'3px','margin-right': '50px'}),
                        c = "",
                        d = {
                            id: a.id,
                            info: _.unescapeHTML(globalData.decode(a.info)),
                            phone: a.phone,
                            email: a.email,
                            url: a.url,
                            IMGS: a.images,
                            logo: "'" + a.logo + "'"
                        };
                    b[!0 === a.follow || "true" === a.follow || 1 === a.follow || "1" === a.follow ? "show" : "hide"]();
                    jqobject.layout.slideIn.lineDetail.Map.change(a.coord.lat, a.coord.lng, {
                        isPreview: !0
                    });

                    c = $(_.mTemplate('<article style="min-height: 170px;"><div class="stack twisted" data-imgIndex="0"><div style="background-image: url({{{logo}}});"></div></div> {{{info}}}</article> <a id="btnAddToCal_Review" class="button skip off" href="#">Add to Calendar</a> <a class="button skip" href="tel:{{phone}}">Call Us</a> <a class="button skip" href="mailto:{{email}}">Email Us</a> <button class="button skip" onclick="inappbrowser()" type="submit"> More </button>',
                    d));
                    !d.logo && 0 === d.IMGS.length ? c.find(".stack").hide() : 0 !== d.IMGS.length && (d.logo || c.filter(".stack div").css("background-image", 'url("' + d.imgs[0] + '")'), c.filter(".stack").fastClick(function () {
                        var a = $(this);
                        global.ImageSlider.triggerSlides(a, d.id, d.imgs, a.data("imgIndex"))
                    }));
                    if (!1 === !a.date && (!0 !== !a.date.start || !0 !== !a.date.start) && !a.date.complete) try {
                            !1 === global.data.method.customer.event.options.check(a.id).added && c.filter("#btnAddToCal_Review").removeClass("off").css({
                                display: "block"
                            }).attr("onclick",
                            _.mTemplate("if(confirm(" + _.quote("Are you sure you wish to add this event?") + ")) { $(this).hide(); window.Pl.calendar.createEvent({{{ id }}}, {{{ title }}},{{{ location }}},{{{ notes }}},{{{ startDate }}},{{{ endDate }}}); }; return false;", {
                                id: _.quote(a.id),
                                title: _.quote(globalData.decode(a.name)),
                                location: _.quote(globalData.decode(a.address)),
                                notes: '" "',
                                startDate: _.quote(a.date.start),
                                endDate: _.quote(a.date.end)
                            }))
                    } catch (f) {}
                    return c
                }
            },

主な問題は、この関数 (後述) が範囲外であることです。

function inappbrowser() {
                    iabRef = window.open('url', '_blank', 'location=yes');
                    iabRef.addEventListener('loadstart', iabLoadStart);
                    iabRef.addEventListener('loadstop', iabLoadStop);
                    iabRef.removeEventListener('loaderror', iabLoadError);
                    iabRef.addEventListener('exit', iabClose);
                }

関数の「url」フィールドで {{url}} の値を取得する方法を教えてください。

4

1 に答える 1

1

ちょっと男はあなたのための解決策を持っています

次のコードで More のアンカータグを置き換えます

<a class="button skip" href="#" onclick="inappbrowser(&#39;{&quot;key&quot;: &quot;{{url}}&quot;}&#39;); return false" > Read More </a>

そしてinappbrowserの機能でこれを行います

function inappbrowser(json) {

                iabRef = window.open(JSON.parse(json).key, '_blank', 'location=no');
                iabRef.addEventListener('loadstart', iabLoadStart);
                //iabRef.addEventListener('loadstop', iabLoadStop);
                //iabRef.removeEventListener('loaderror', iabLoadError);
                iabRef.addEventListener('exit', iabClose);
            }
于 2013-07-17T11:24:03.153 に答える