我使用以下js代码在django应用程序中转换英语的本地语言。它在本地工作,但在aws上,显示器不起作用,我能看到的只是问号的符号。
// Load the Google Transliteration API
google.load("elements", "1", {
packages: "transliteration"
});
function onLoad() {
var options = {
sourceLanguage: 'en',
destinationLanguage: ['ml'],
shortcutKey: 'ctrl+m',
transliterationEnabled: true
};
// Create an instance on TransliterationControl with the required
// options.
var control = new google.elements.transliteration.TransliterationControl(options);
// Enable transliteration in the textfields with the given ids.
var ids = [ "lang", "langu", "language" ];
control.makeTransliteratable(ids);
// Show the transliteration control which can be used to toggle between
// English and Hindi and also choose other destination language.
// control.showControl('translControl');
}
google.setOnLoadCallback(onLoad);
控制台上的错误是
A Parser-blocking, cross-origin script, https://www.google.com/uds/?file=elements&v=1&packages=transliteration, is invoked via document.write. This may be blocked by the browser if the device has poor network connectivity. See https://www.chromestatus.com/feature/5718547946799104 for more details.
提前感谢您的帮助。
答案 0 :(得分:0)
您是否在错误消息中阅读了该链接? https://www.chromestatus.com/feature/5718547946799104
似乎很清楚错误是什么:你试图包含来自另一个域的脚本,这可能会影响你的性能并被一些缓慢的浏览器/连接阻止。
您要包含的代码如下:
https://www.google.com/uds/?file=elements&v=1&packages=transliteration
if (window['google'] != undefined && window['google']['loader'] != undefined) {
if (!window['google']['elements']) {
window['google']['elements'] = {};
google.elements.Version = '1.0';
google.elements.JSHash = '7ded0ef8ee68924d96a6f6b19df266a8';
google.elements.LoadArgs = 'file\x3delements\x26v\x3d1\x26packages\x3dtransliteration';
}
google.loader.writeLoadTag("css", google.loader.ServiceBase + "/api/elements/1.0/7ded0ef8ee68924d96a6f6b19df266a8/transliteration.css", false);
google.loader.writeLoadTag("script", google.loader.ServiceBase + "/api/elements/1.0/7ded0ef8ee68924d96a6f6b19df266a8/transliteration.I.js", false);
}
我建议您下载css
和script
并将其放入您的资产管道中。
我不会委托google.loader.writeLoadTag
加载它。
<强>更新强>
恐怕你误解了我的答案。我上面提到的代码是导致错误的脚本的内容。我建议检索css和javascript的完整网址:
现在,您可以选择是否要使用外部链接引用这些资源,或者是否要同时下载css
和js
并将其添加到资产管道