У меня проблема с куском JavaScript, который не будет корректно вести себя в IE. Все остальные платформы в порядке.
Существует простой JavaScript, который принимает системное значение и использует это, чтобы увидеть, зарегистрирован ли пользователь и помещает HTML в div соответственно. Однако он не будет загружаться в IE до тех пор, пока я не сделаю Ctrl-F5.
Любая помощь была бы замечательной, так как я на самом деле был в тупике.
<div id="registered-output"></div>
<script type="text/javascript">
window.onload = loadScript();
function loadScript() {
var currentuser = window.parent._jive_current_user.displayName;
var useremail = window.parent._jive_current_user.username;
if (currentuser == 'ANONYMOUS') {
document.getElementById("registered-output").innerHTML = "<div class='register-container'><div class='register-header'><div class='register-header-holder'><p class='header-text'>Register</p></div><div class='register-toptext'><p class='header'>Why join our community?</p></div></div><div class='register-ul'><ul class='register'><li class='register-li'>Here one good reason</li><li class='register-li'>Networking with others</li><li class='register-li'>Start or join a discussion</li><li class='register-li'>Tech notes</li><li class='register-li'>Networking with others</li></ul></div><div class='register-join'><a href='https://mentor.jiveon.com/create-account.jspa'><img src='http://mentor.jiveon.com/resources/statics/15536/join-here-smaller.png'></a></div></div>";
}
else if (currentuser != 'ANONYMOUS') {
document.getElementById("registered-output").innerHTML = "<div class='register-container-stuff'><div class='register-header'><div class='register-header-holder'><p class='header-text'>Personal Settings</p></div><div class='register-toptext'><p class='header'>Welcome " + useremail + "</p></div></div><div class='register-ul-two'><table><tr><td><img src='/resources/statics/15536/content.png'></td><td> </td><td><a target=_new href='people/" + window.parent._jive_current_user.username + "/content');'>Your Content</a></td></tr><tr><td><img src='/resources/statics/15536/activity.png'></td><td> </td><td><a target=_new href='people/" + window.parent._jive_current_user.username + "/activity');'>Your Activity</a></td></tr><tr><td><img src='/resources/statics/15536/connections.png'></td><td> </td><td><a target=_new href='people/" + window.parent._jive_current_user.username + "/people');'>Your Connections</a></td></tr><tr><td><img src='/resources/statics/15536/places.png'></td><td> </td><td><a target=_new href='people/" + window.parent._jive_current_user.username + "/places');'>Your Places</a></td></tr><tr><td><img src='/resources/statics/15536/bookmarker.png'></td><td> </td><td><a target=_new href='people/" + window.parent._jive_current_user.username + "/bookmarks');'>Your Bookmarks</a></td></tr></table></div></div>";
}
}
</script>
Я написал этот код для размещения внутри виджета HTML на платформе Jive.
Ваш код
window.onload = loadScript();
неправильно. Вы вызываете функцию, не назначая ее. Отбросьте ()
window.onload = loadScript;
window.onload = loadScript(); // will cause the function to execute immediately
window.onload = loadScript; // will cause the function to execute on load
Просто удалите(), чтобы функция могла работать как обратный вызов.
window.onload = loadScript;
, Потерять()
. Вы хотите установить свойствоonload
для функции, а не запускать его и установить дляonload
его возвращаемое значение (undefined
).