2017-04-06 11 views

回答

0

这里的问题是,你可能尝试运行在页面上的JavaScript(即具有类似var paymentForm = new SqPaymentForm({...外部库加载之前。

如果您正在加载的https://js.squareup.com/v2/paymentform异步,你需要延迟JavaScript页面的执行直到外部库加载完成后,你可以通过onload事件来完成这个工作,或者等到页面完全加载(或者很多其他的方法,搜索“在异步之后延迟javascript”,但是最简单的方法是只是同步加载库。

+0

感谢您的回复 – Anand

+0

我试过这个 'function loadJavaScriptSync(filePath){ \t var req = new XMLHttpRequest(); \t req.open(“GET”,filePath,false); //'false':同步。 \t req.send(null); \t var headElement = document.getElementsByTagName(“head”)[0]; \t var newScriptElement = document.createElement(“script”); \t newScriptElement.type =“text/javascript”; \t newScriptElement.text = req.responseText; \t headElement.appendChild(newScriptElement); } \t \t \t \t \t loadJavaScriptSync( “https://js.squareup.com/v2/paymentform”);' 然后称为'变种paymentForm =新SqPaymentForm' 现在在控制台的网络错误。 – Anand

+0

也得到了这个**主线程上的同步XMLHttpRequest已被弃用,因为它对最终用户的体验有不利影响。更多帮助http://xhr.spec.whatwg.org** – Anand