2017-02-10 2 views
1

Ich bin sicher, die Antwort ist einfach, aber ich habe mögliche Antworten für Stunden ohne Glück recherchiert.Loaded JavaScript-Funktion ist undefined

Ich versuche, eine JavaScript-Funktion addToHomeScreen von onClientLoad (Client-Side-Skript) aufzurufen, die geladen wird, aber ich bekomme den ReferenceError: addToHomeScreen ist nicht definiert. Das Skript wird von unserer Skriptbibliothek geladen und es wird geladen.

My Custom Control Quellcode:

<?xml version="1.0" encoding="UTF-8"?> 
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core"> 
     <xp:this.resources> 

      <xp:script src="/addToHomeScreen.js" clientSide="true"> 
      </xp:script> 

     </xp:this.resources> 

     <xp:eventHandler event="onClientLoad" submit="false"> 
      <xp:this.script><![CDATA[addToHomeScreen()]]></xp:this.script> 
     </xp:eventHandler> 
    </xp:view> 

Rückkehr:

<script type="text/javascript" src="/web3/website.nsf/addToHomeScreen"></script> 
.... 
.... 
<script type="text/javascript"> 
function view__id1__id4__id5__id7_clientSide_onClientLoad(thisEvent) { 
addToHomeScreen()} 

Irgendwelche Ideen? Ich habe auch versucht, es von afterPageLoad (Server-Seite)

Antwort

3

aufzurufen Es könnte ein Timing-Problem sein. Versuchen Sie, Ihre Methodenaufruf in einem XSP.addOnLoad() -Aufruf umschließenden:

XSP.addOnLoad(function(){ 
    addToHomeScreen(); 
}); 
+0

Dank - die –

+3

Große schien zu funktionieren. Willkommen bei Stack Overflow. Bitte akzeptieren Sie die Antwort als die richtige Antwort. –