【问题标题】:Using inline javascript correctly正确使用内联 javascript
【发布时间】:2016-09-23 12:06:00
【问题描述】:

我正在使用一项名为 OneSignal 的服务向桌面和移动设备发送推送通知。我正在尝试使用按钮元素来触发一些内联 javascript,这是一个直接可用于该元素的选项,因为按钮允许指定内联 onclick javascript 事件。开发团队给我的javascript如下:

var OneSignal = OneSignal || []; OneSignal.push(function() { OneSignal.registerForPushNotifications(); });

我已添加到元素中但似乎无法正常工作。他们还为我提供了成功订阅的重定向功能:

var OneSignal = OneSignal || [];
OneSignal.push(function() {
OneSignal.on('subscriptionChange', function(isSubscribed) {
if (isSubscribed) {
  location.href = "http://redirecturlhere.com";
}
});
});

按钮元素是 Visual Composer 的一部分:

View button element.

虽然我的 CSS/html 知识很好,但我的 javascript 知识还有很多不足之处。我想知道是否有人可以指出我正确的方向或指出代码中的任何内容或我应用代码的方式可能会阻碍此功能的工作。

【问题讨论】:

    标签: javascript function push-notification onclick inline


    【解决方案1】:
    OneSignal.on('subscriptionChange', function(isSubscribed)
    

    通常subscriptionChange 指的是元素的ID 或类。

    尝试 #subscriptionChange 这意味着它通常是一个 ID,否则尝试 .subscriptionChange 因为句点通常表示一个类。

    【讨论】:

      【解决方案2】:

      在JS中关闭括号或内联函数时,你不添加分号,所以它最终会像这样:

      var OneSignal=OneSignal||[];OneSignal.push(function(){OneSignal.on("subscriptionChange",function(a){a&&(location.href="http://redirecturlhere.com")})});
      

      【讨论】:

        猜你喜欢
        • 2018-09-04
        • 1970-01-01
        • 2016-04-05
        • 2011-07-19
        • 2017-10-27
        • 1970-01-01
        • 2018-04-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多