Не удается загрузить конечные точки Google Cloud в Internet Explorer 10
Я работаю над сайтом, который используетКлиентская библиотека Google JavaScript загрузить некоторые API, которые выставляются черезКонечные точки Google Cloud, Конечные точки были разработаны в Python, но я не уверен, что это фактор. Все прекрасно работает в Chrome, Firefox и Safari, но в Internet Explorer 10 я получаю эту ошибку:
SCRIPT5007: Unable to get property 'value' of undefined or null reference
proxy.html, line 7 character 51
Я загружаю клиентскую библиотеку, используя код, подобный этомупредложено Google в их документации:
<script type="text/javascript">
Oversee.Init();
function init() {
console.log("starting to load endpoints");
gapi.client.load("marketplace", "1", function() {
console.log("finished loading endpoints");
}, "//" + window.location.host + "/_ah/api");
}
</script>
<script type="text/javascript" src="https://apis.google.com/js/client.js?onload=init"></script>
Это выводит следующее на консоль:
starting to load endpoints
SCRIPT5007: Unable to get property 'value' of undefined or null reference
proxy.html, line 7 character 51
Обратите внимание, что строка «завершенные загрузки конечных точек» никогда не выводится.
После симпатичной печати этот код в proxy.html, по-видимому, выглядит следующим образом:document.getElementById('root').value
, какdocument.getElementById('root')
является нулевым или неопределенным.
gapi.load('googleapis.proxy', {
callback: function () {
return window['googleapis']['server']['initWithPath']
.call(this, document.getElementById('root').value);
},
config: {
// snipped
}
});
Я заметил, что если я перезагружаю страницу, API успешно загружается со следующим выводом в консоли:
starting to load endpoints
finished loading endpoints
Все вышеперечисленное происходит как при использовании локального сервера разработки, так и при использовании приложения, размещенного на производственных экземплярах Google App Engine.
Кому-нибудь удалось успешно вызвать конечные точки Google Cloud из Internet Explorer 10? Если так, что мне не хватает в моем коде?
РЕДАКТИРОВАТЬ: Проблема также происходит сПример Google Cloud Endpoints - веб-приложение, Я развернул его копию здесь:https://cloud-endpoints-demo.appspot.comи та же ошибка возникает при запуске его в Internet Explorer 10.
РЕДАКТИРОВАТЬ 2: Я создал проблему здесь:https://code.google.com/p/googleappengine/issues/detail?id=10700
РЕДАКТИРОВАТЬ 3: Проблема также возникает вПример Google TicTacToe для облачных конечных точек, Я развернул копию этого здесь:https://cloud-endpoints-tictactoe.appspot.com; Как и в другой демонстрации, он отлично работает на Chrome и Safari, но не работает так же, как в Internet Explorer 10.
РЕДАКТИРОВАТЬ 4: Я внимательно посмотрел на proxy.html, который обслуживает Google. Ниже тега script, который вызывает ошибку, находится это тело, которое включает текстовую область с идентификатором 'root':
<body>
<textarea id="root" style="display:none">/_ah/api</textarea>
<div id="lcsclient" style="position:absolute;left:-10000px;"></div>
</body>
Таким образом, похоже, что Google нужно внести некоторые изменения в proxy.html, чтобы убедиться, что документ загружен до выполнения JavaScript в Internet Explorer - я прав?