我有这个
<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
答案 0 :(得分:1)
我意识到这个答案有点晚了,但Link应该可以毫不费力地使用Meteor。 404也很奇怪,因为我可以直接在浏览器中访问该URL。
你有没有能够解决这个问题?如果您仍然遇到Meteor问题,我建议您尝试不依赖于&#34;数据的链接custom initializers - &#34;属性。
答案 1 :(得分:0)
链接在您的浏览器中工作很奇怪,但在您的Ionic应用程序中却没有。我上周用Link构建了一个Ionic应用程序,它没有问题,所以我认为你的问题出现了问题。
在您的Ionic应用程序中:您使用的是AngularJS + UIrouter吗?我认为可能会发生的是,您在<script>
脚本标记内加载了链接ng-template
标记 - 这不起作用(脚本内部的脚本永远不会被执行)。我可能会建议您在Angular Controller中尝试使用custom initializer来避免此问题。
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
文件中的某处包含格子标记脚本标记
<script src="https://cdn.plaid.com/link/stable/link-initialize.js"></script>
如果这不起作用,您可以create a new issue in our github page以便我们更好地回复您的问题。