0

我有这个

<script 
src="https://cdn.plaid.com/connect/stable/connect-initialize.js" 
data-client-name="Client Name" 
data-form-id="plaidForm" 
data-key="public_key" 
data-product="auth" 
data-env="tartan" 
data-webhook="/webhook" 
/>

如何在一个 Meteor 模板中将其转换为可工作的跨浏览器脚本?

我通过在 template.js 渲染函数中像这样加载它来让它在 Chrome 中工作,但是当我使用 Ionic 时它不能正确加载到移动设备上。我不知道为什么,但我试图先找到最简单的答案(也许 Ionic 无法识别我的 javascript 代码)......

任何帮助表示赞赏。

$(document).ready(function() {
        var script = document.createElement('script');
        script.async = "async";
        script.src = "https://cdn.plaid.com/connect/stable/connect-initialize.js";
        script.setAttribute("data-client-name", "Client Name");
        script.setAttribute("data-form-id", "plaidForm");
        script.setAttribute("data-key", Meteor.settings.public.plaid.public_key);
        script.setAttribute("data-product", "auth");
        script.setAttribute("data-env", "tartan");
        script.setAttribute("data-webhook", "https://e39f6d752a20d470.a.passageway.io/hookthe/plaid");
        $("head").append(script);
    });

这是我在 Android 模拟器上运行的浏览器检查的结果。

Failed to load resource: the server responded with a status of 404 (Not Found)
https://cdn.plaid.com/connect/stable/connect-initialize.js?_=1429320699573
4

2 回答 2

1

我意识到这个答案有点晚了,但林克在使用 Meteor 时应该没有问题。404 也很奇怪,因为我可以直接在浏览器中访问该 URL。

你曾经能够解决这个问题吗?如果您仍然对 Meteor 有疑问,我建议您尝试不依赖“data-”属性的 Link 的自定义初始化程序。

于 2015-07-09T18:26:30.097 回答
0

奇怪的是,Link 在您的浏览器中运行,但在您的 Ionic 应用程序中却没有。上周我用 Link 构建了一个 Ionic 应用程序,它运行没有问题,所以我认为你那边出了点问题。

在您的 Ionic 应用程序中:您使用的是 AngularJS + UIrouter 吗?我认为可能发生的事情是您正在将 Link<script>标记加载到ng-template脚本标记内 - 这不起作用(脚本内的脚本永远不会执行)。我可能会建议您尝试在 Angular 控制器内部使用自定义初始化程序来避免此问题。

plaidApp.controller('BillsCtrl', function($scope, $http) {

 var linkHandler = Plaid.create({
   env: 'tartan',
   clientName: 'Client Name',
   key: 'test_key',
   product: 'auth',
   onSuccess: handleOnSuccess,
 });

 function handleOnSuccess(token) {
   $http.post('/authenticate/', {
     public_token: token
   }).success(function(res) {
   }).error(function(err) {
   })
 }

});

在您的文件中的某处index.html包含 Plaid 脚本标签

<script src="https://cdn.plaid.com/link/stable/link-initialize.js"></script>

如果这不起作用,您可以在我们的 github 页面中创建一个新问题,以便我们更好地响应您的问题。

于 2015-07-09T18:46:17.350 回答