2010-12-09 11 views
0

Irgendeiner hilft mir. Ich habe das Problem in den folgenden Zeilen beschrieben.Call - Javascript Funktion

Ich möchte die zweite.html mit in.html.html aufrufen.

In der zweiten.html habe ich die second.js mit Skript-Tag enthalten.

Wenn ich die second.html im Browser (Safari, Chor, Firefox) direkt aufrufen, funktioniert es FINE.

Aber wenn ich die second.html in der one.html aufrufen, funktioniert die second.js (can not call by second.html) nicht.

Bitte helfen Sie mir. Ich habe den Code beigefügt. one.html

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Page Title</title> 
    <link rel="stylesheet" href="jquery.mobile-1.0a2.min.css" /> 
    <script src="jquery-1.4.4.min.js"></script> 
    <script src="jquery.mobile-1.0a2.min.js"></script> 
    <script src="Scripts/one.js"></script> 
    </head> 
    <body> 

    <div data-role="page"> 
     <a href="Views/second.html" data-role="button" class="ui-btn-right">One</a> 
    </div> 

    </body> 
</html> 

Second.html

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Sample </title> 
    <link rel="stylesheet" href="../jquery.mobile-1.0a2.min.css" /> 
    <script src="../jquery-1.4.4.min.js"></script> 
    <script src="../jquery.mobile-1.0a2.min.js"></script> 
    <script type="text/javascript" src="../Scripts/second.js"></script> 
    </head> 
    <body> 
    <div data-role="page"> 
     <div data-role="button" id="link" >Second</div> 
    </div><!-- /page --> 
    </body> 
</html> 

one.js

$(document).ready(function() 
{  
    alert('one.js');      
}); 

second.js

$(document).ready(function() 
{  
    alert('second.js');      
}); 

THanks

+2

Zeigen Sie einige Code pls –

+2

Wie genau "rufen Sie die second.html"? Ist es AJAX? –

+0

Sie Frage ist nicht klar. –

Antwort

1

Von dem, was ich gelesen habe, jQuery Mobile-Seiten Ajax nicht das Ereignis ready ausgelöst, wenn der neue Inhalt angezeigt wird. Wahrscheinlich müssen Sie für alle 'data-role = "page" -Elemente an das pagecreate-Ereignis binden und prüfen, ob eine ID eines Elements in second.html vorhanden ist.

Der Kommentarbereich dieser Dokumentation Seite hat einige mögliche Korrekturen für diese: http://forum.jquery.com/topic/mobile-events-documentation

+0

Danke Flash .. Es funktioniert gut. – Finder

1

Ein Link ist nur ein Verweis auf eine andere Seite; der Browser lädt nicht es vor dem Klicken (soweit die Skripts auf der ersten Seite betroffen sind, sowieso).

Wenn Sie auf einer anderen Seite Skripte zugreifen möchten, müssen zwei Bedingungen erfüllt sein:

  1. Die beiden Seiten aus der gleichen Domäne (aus Sicherheitsgründen) kommen müssen.

  2. Die beiden Seiten müssen im selben Fenster geladen werden (z. B. mit einem iframe).

Bitte senden Sie uns eine neue Frage zu stellen, was Sie erreichen wollen, vielleicht gibt es eine andere Lösung.

+0

Vielen Dank Aaron – Finder