Η σπηλιά κώδικα

19 Ιουλίου 2006

Απαρίθμηση των μορφών και των τομέων σε μια σελίδα στο Internet Explorer ή Maxthon

_ Filed κατώτερος: HTML - Brian @ 12:00 μ.μ.

Αυτή η θέση είναι μια εισαγωγή σε αυτό που έχω ερευνήσει στον ελεύθερο χρόνο μου κατά τη διάρκεια των τελευταίων εβδομάδων. Θα είναι το πρώτο σε μία σειρά των θέσεων για την υποβολή μορφής. Θα σας οδηγήσει βασικά κατά μήκος της πορείας που πήρα στην ανακάλυψη αυτών των πληροφοριών, και θα επιτρέψει ενδεχομένως σε σας για να πηδήσει πέρα από μερικά από τα προβληματικά σημεία κατά μήκος του τρόπου. Θα σημειώσω κάθε ενός από τα προβληματικά σημεία στα σχόλια στο έγγραφο (για παράδειγμα σε αυτό περιλαμβάνω μια σημείωση για την αξία ενός κουμπιού που υποβάλλεται επίσης με τη μορφή).

Αυτό το αρχείο HTML χτίζει πάνω από την εργασία που έκανα επάνω με το αντίγραφο ως εργαλείο συνδέσεων κειμένων που παραπέμφθηκε αλλού σε αυτήν την περιοχή. Εντούτοις, αυτή η ρουτίνα επεξεργάζεται αυτήν την περίοδο - ενεργά webpage/πλαίσιο και παράγει μια έκθεση των μορφών και των τομέων σχετικά με εκείνη την σελίδα. Για κάθε μορφή που παρουσιάζει όνομά της, η δράση και απαριθμεί έπειτα τις εισαγωγές σε εκείνη την μορφή. Για κάθε εισαγωγή, παρουσιάζει το όνομα και αξία του. Από αυτές τις πληροφορίες, μπορείτε να δείτε τι ακολουθείται μεταξύ των σελίδων σε έναν ιστοχώρο. Θα μπορούσατε επίσης να χρησιμοποιήσετε αυτές τις πληροφορίες για να διορθώσετε μια αίτηση συμμετοχής που δημιουργείτε. Θα μπορούσε επίσης να χρησιμοποιηθεί για να παραγάγει τις πληροφορίες υποβολής μορφής που θα παραχθούν από μια ορισμένη δράση έτσι ώστε μπορεί να επαναληφθεί programmatically στο μέλλον.

Αυτή η ρουτίνα θα λειτουργήσει μόνο μέσα ΔΗΛ. αμέσως και παλαιότερες απελευθερώσεις Maxthon. Θα μπορούσε εύκολα να μετατεθεί σε άλλα μηχανές αναζήτησης και εργαλεία. Η διαδικασία πρέπει να είναι σχετικά εύκολο να ακολουθηθεί χάρι στην τεχνολογία ενότητας αντικειμένου εγγράφων της Microsoft (DOM). Τα DOM επιτρέπουν στον κώδικα HTML για να προσεγγιστούν σαν ήταν αντικειμενοστρεφές. Με άλλα λόγια, αυτή η ρουτίνα δεν λειτουργεί με το κωδικό πηγής HTML. Αντ' αυτού ρωτά ΔΗΛ. για τα συγκεκριμένα μέρη του webpage ενός σε έναν χρόνο. Αυτό επιτρέπει σε κάθε ένα από τα διάφορα μέρη/τα τμήματα οποιαδήποτε ιστοσελίδας για να έχει τις ιδιαίτερες ιδιότητες και τις μεθόδους του. Αυτή η ρουτίνα ρωτά ρωτά το αντικείμενο εγγράφων για τον κατάλογο μορφών περιέχει. Ρωτά έπειτα κάθε μορφή για έναν κατάλογο τομέων. Επιδεικνύει κάθε ένας με τη σειρά του.

Για να εγκαταστήσει αυτό το αρχείο μέσα ΔΗΛ., δεξιά - χτυπήστε στην ακόλουθη σύνδεση και επιλέξτε εκτός από το στόχο όπως. Κατόπιν στον προορισμό ο τύπος %WINDIR% \ Ιστός \ formlist.htm παραθύρων και πιέζει εισάγει.

ΔΙΚΑΙΩΜΑ - ΧΤΥΠΗΣΤΕ ΑΥΤΗΝ ΤΗΝ ΣΥΝΔΕΣΗ

%windir% είναι μια μεταβλητή περιβάλλοντος που αντιπροσωπεύει τον κατάλογο παραθύρων σας. Έτσι μπορείτε να βάλετε το C:\Windows\Web\formlist.htm εάν ξέρετε ότι έχετε έναν κατάλογο του c:\Windows.

Κατόπιν επιλέξτε Start->Run και υποβάλτε αυτό το κείμενο και πιέστε έπειτα εισάγει:

ο κανονισμός ΠΡΟΣΘΕΤΕΙ «HKCU \ \ λογισμικό Ιστό \ \ \ \ formlist.htm» /f του /ve /t REG_SZ /d το «%WINDIR% \ \ Microsoft \ \ Internet Explorer \ \ MenuExt \ \ F&orms και τομέων»


Αυτός θα ενημερώσει το ληξιαρχείο σας για να δείξει το αρχείο. Εάν έχετε τα προβλήματα, χρησιμοποιήστε αυτό το αρχείο δεσμης αντ' αυτού. Περιέχει την ίδια εντολή αλλά δεν θα αλλοιωθεί από τα παράθυρα.

Κατόπιν στενός όλες οι περιπτώσεις ΔΗΛ.

Τώρα κοιτάξτε βιαστικά ιστοσελίδας που έχει μια μορφή, οι περισσότερες από τους να κάνει σήμερα.

Δικαίωμα - χτυπήστε οπουδήποτε στο κείμενο της μορφής και επιλέξτε τη μορφή και τους τομείς από τις επιλογές.

Θα είστε σε θέση τώρα να δείτε όλα τα είδη των πληροφοριών για τη σελίδα ήσαστε ανοικτός και οι τομείς και κρυμμένοι τομείς που περιέχει.

BTW, αυτό στερεότυπες χρήσεις ένα λαϊκό επάνω παράθυρο. Υπερεμφανιζόμενα blockers όπως τη ράβδο εργαλείων Google θα προσπαθήσουν να εμποδίσουν αυτήν την μορφή. Έτσι, ακριβώς να πρέπει να συγκρατήσετε το κλειδί CTRL δεδομένου ότι επιλέγετε τη μορφή και τους τομείς για να επιτρέψετε σε αυτό για να λειτουργήσετε.

Επίσης, FYI αυτό λειτουργεί σε Maxthon μέσω τουλάχιστον της κατασκευής 21 έκδοσης 1.5.2. Σκέφτομαι την κατασκευή 23 επαναλήψεις η ουσία επιλογών πλαισίου, αλλά δεν με αναφέρω σε αυτή.

Απολαύστε!

Παραγωγή δειγμάτων από το FoxNews.com

(Ο κωδικός πηγής ακολουθεί)
ΣΗΜΕΙΩΣΗ: Υπάρχει τώρα μια αναφορά στην τελική θέση αυτού του αρχείου στο κωδικό πηγής. Εάν εγκαθιστάτε αυτό ως κάτι εκτός από το c:\windows\web\formlist.htm πρέπει τώρα να ενημερώσετε το κωδικό πηγής.

JAVASCRIPT:
  1. <script type= «κείμενο/javascript» defer>
  2. /*
  3. Κατάλογος μορφών & τομέων
  4. Πνευματικά δικαιώματα (γ) 2006 TheCodeCave.com
  5. Brian Layman
  6. Επεξεργάζεται αυτήν την περίοδο - ενεργά webpage/πλαίσιο και παράγει μια έκθεση των μορφών και των τομέων σχετικά με εκείνη την σελίδα.
  7. Για κάθε μορφή που παρουσιάζει όνομά της, η δράση και απαριθμεί έπειτα τις εισαγωγές σε εκείνη την μορφή.  Για κάθε εισαγωγή, παρουσιάζει
  8. το όνομα και η αξία του.  Από αυτές τις πληροφορίες, μπορείτε να δείτε τι ακολουθείται μεταξύ των σελίδων σε έναν ιστοχώρο.
  9. Θα μπορούσατε επίσης να χρησιμοποιήσετε αυτές τις πληροφορίες για να διορθώσετε μια αίτηση συμμετοχής που δημιουργείτε.  Θα μπορούσε επίσης να χρησιμοποιηθεί
  10. παράγετε τις πληροφορίες υποβολής μορφής που θα παραχθούν από μια ορισμένη δράση έτσι ώστε μπορούν να είναι
  11. επαναλαμβανόμενος programatically στο μέλλον.
  12. Η διαδικασία πρέπει να είναι σχετικά εύκολο να ακολουθηθεί χάρι στην τεχνολογία ενότητας αντικειμένου εγγράφων της Microsoft (DOM).
  13. Τα DOM επιτρέπουν στον κώδικα HTML για να προσεγγιστούν σαν ήταν αντικειμενοστρεφές. Με άλλα λόγια, αυτή η ρουτίνα δεν λειτουργεί
  14. με το κωδικό πηγής HTML. Αντ' αυτού ρωτά ΔΗΛ. για τα συγκεκριμένα μέρη του webpage ενός σε έναν χρόνο.  Αυτό επιτρέπει
  15. eacg των διάφορων μερών/των τμημάτων οποιαδήποτε ιστοσελίδας για να έχει τις ιδιαίτερες ιδιότητες και τις μεθόδους του.  Αυτό
  16. η ρουτίνα ρωτά ρωτά το αντικείμενο εγγράφων για τον κατάλογο μορφών περιέχει.  Ρωτά έπειτα κάθε μορφή για έναν κατάλογο
  17. από τους τομείς.  Επιδεικνύει κάθε ένας με τη σειρά του.
  18. Παρακαλώ σημειώστε ότι όταν υποβάλλεται μια μορφή η εισαγωγή δεν περιορίζεται στους τομείς.  Το κουμπί/το IMG χρησιμοποίησε για να υποβάλει
  19. η μορφή περιέχει επίσης μια αξία.  Κατά αυτόν τον τρόπο, η δράση προορισμού μπορεί να καθορίσει ποιο κουμπί πιέστηκε.
  20. Έτσι, θα δείτε πιθανώς περισσότερους τομείς που απαριθμούνται σε αυτήν την ρουτίνα από είναι προφανής κατά το βλέμμα την οθόνη.  Επίσης
  21. ακριβώς επειδή μια αξία παρατίθεται σε αυτήν την μορφή, δεν σημαίνει ότι θα φθάσει στην τελική μορφή.  Το Javascript μπορεί
  22. χρησιμοποιείται για να επικυρώσει/αλλάξτε τις πληροφορίες προτού να υποβληθεί η μορφή.
  23. Για να χρησιμοποιήσει αυτό το αρχείο, το σώστε όπως:
  24. Ιστός \ \ formlist.htm %WINDIR%
  25. Μπορείτε να βάλετε το C:\windows μέσα εκεί για την ταυτότητα %WINDIR% ο υπολογιστής που σας δεν την συμπαθεί ή εάν ξέρετε έχετε το c:\windows
  26. κατάλογος.  Κατόπιν επιλέξτε START->Run και υποβάλτε αυτό το κείμενο και πιέστε έπειτα εισάγει:
  27. ο κανονισμός ΠΡΟΣΘΕΤΕΙ «HKCU \ λογισμικό Ιστό \ \ formlist.htm» /f του /ve /t REG_SZ /d το «%WINDIR% \ Microsoft \ Internet Explorer \ MenuExt \ F&orms και τομέων»
  28. Σημειώσεις έκδοσης
  29. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  30. 1.0 BL   2006-07-18 αρχική έκδοση
  31. 1.1 BL   2006-07-19 η σταθερή «πρόσβαση αμφισβητείται» το λάθος που εμπόδισε λαϊκό τον επάνω σε μερικά συστήματα
  32. *
  33.  
  34. Τα εξωτερικά menuArguments του // επιστρέφουν το αντικείμενο παραθύρων όπου το στοιχείο επιλογών πλαισίου εκτελέσθηκε.
  35. VAR parentwin=external.menuArguments
  36.  
  37. Το // εάν καμία μορφή δεν χρησιμοποιήθηκε για να καλέσει αυτήν την ρουτίνα, που καλεί τον τίτλο εγγράφων θα είναι κενό.
  38. Το // εάν αυτή συμβαίνει, επιδεικνύει ένα μήνυμα.
  39. ΣΗΜΕΙΩΣΗ του //: Η αναφορά στο parentwin ή parentwin.document μόνο εδώ θα προκαλέσει ΔΗΛ. στην άλλη πρόταση.
  40. // που ο τίτλος φαίνεται να είναι μια από τις μόνες ασφαλείς ιδιότητες στην πρόσβαση.
  41. εάν (! parentwin.document.title)
  42. {
  43.   document.writeln («<html>»)
  44.   document.writeln («<head>»)
  45.   document.writeln («<title>TCC έντυπο List</title>»)
  46.   document.writeln («</head>»)
  47.   document.writeln («<body>»)
  48.   document.writeln («αυτό το αρχείο προορίζεται να προσεγγιστεί από υπερεμφανιζόμενες επιλογές.  Δεν είναι ένα τυποποιημένο HTML file.<br/>»)
  49.   document.writeln («<br/>»)
  50.   document.writeln («εάν προσπαθούσατε να σώσετε αυτό το αρχείο στην τοπική κίνησή σας, να πάει πίσω στην αρχική σύνδεση, δικαίωμα - χτυπήστε και επιλέξτε εκτός από το στόχο As.<br/>»)
  51.   document.writeln («<br/>»)
  52.   document.writeln («<br/>»)
  53.   document.writeln («το <center>For περισσότερες πληροφορίες, παρακαλώ επισκέπτεται την αποθήκευση <a href='http://www.thecodecave.com/article208 ′ Title='Cold για τον καλύτερο κώδικα >The Cave</a> ιδεών μου… «- Brian<br/><br/><br/><a href='javascript: window.close () «style=» χρώμα \: #FF0000 κείμενο-διακόσμηση: κανένας >close</a></center><br/></body>»)
  54.   document.writeln («</font>»)
  55.   document.writeln («</body>»)
  56.   document.writeln («</html>»)
  57.  
  58. }
  59. αλλιώς {
  60.   // σε αυτό το σημείο ξέρουμε ότι αυτό το αρχείο επιτεύχθηκε από υπερεμφανιζόμενες επιλογές σε ένα webpage.
  61.  
  62.   // τώρα που πρέπει να δημιουργήσουμε ένα νέο παράθυρο.  Ο πρώτος στόχος είναι να περιγραφεί ο τρόπος που το παράθυρο πρέπει να εμφανιστεί.
  63.   new_window_features VAR = νέα σειρά («toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, top=0, left=0, width=400, height=»)
  64.   new_window_features = new_window_features + (screen.height - 100)
  65.   Χρήση του // εκείνες οι ιδιότητες για να δημιουργήσει ένα νέο παράθυρο για την παραγωγή μας.
  66.   ΣΗΜΕΙΩΣΗ του //: Η δεύτερη παράμετρος είναι εδώ το όνομα του νέου παραθύρου στόχων.  Η κατοχή ενός τυποποιημένου ονόματος θα αναγκάσει όλες τις λίστες μορφής για να εμφανιστεί στο ίδιο πράγμα
  67.   παράθυρο/πίν. του //.  Εάν επιθυμείτε να πάρετε ένα νέες παράθυρο/μια ετικέττα για κάθε λίστα, αλλάξτε αυτήν την παράμετρο που λέει «_blank» αντ' αυτού.
  68.   // ΣΗΜΑΝΤΙΚΟ: Η πρώτη παράμετρος, το URL θα ήταν κανονικά κενή.  Σε τελευταία ανάλυση, τι επιδιώκεται είναι ανοικτός μια κενή πλάκα
  69.   // που για να χτίσει τη νέα έκθεση.  Εντούτοις, μερικές ΔΗΛ. κενές κλήσεις window.open φραγμών εγκαταστάσεων.  Αυτό οφείλεται στο θόριο
  70.   τοπικός οικοδεσπότης του // που είναι σε μια διαφορετική ζώνη ασφάλειας από ιστοσελίδας που κάνετε σερφ.  Έτσι, εξαπατάμε το παράθυρο
  71.   το // που σκέφτεται ότι είναι ήδη στην τοπική περιοχή, και επομένως το window.open πετυχαίνει.
  72.   VAR new_window = window.open («file:///C:/windows/web/formlist.htm», «tcc_formlister», new_window_features)
  73.   new_document VAR = new_window.document
  74.  
  75.   Το // δημιουργεί τώρα ένα έγγραφο σε εκείνο το παράθυρο.
  76.   new_document.open ()
  77.  
  78.   Το // καθορίζει την επιγραφή της μορφής και ενός χειρογράφου για να κλείσει το παράθυρο όταν γινόμαστε.
  79.   new_document.writeln («<html>»)
  80.   new_document.writeln («<head>»)
  81.   new_document.writeln («<title>TCC τομέας List</title>»)
  82.   new_document.writeln («</head>»)
  83.   new_document.writeln («<body topmargin=0 leftmargin=0 rightmargin=0 bottommargin=0>»)
  84.   new_document.writeln (πηγή «<font style= :    8pt Verdana, Arial, Helvetica, χωρίς-πατούρα γραμμή-ύψος: 18pt )
  85.   new_document.writeln («<script language=javascript>function navigateClose (στρεπτόκοκκος) {εάν (document.my_parent! = αχρηστεύστε) {document.my_parent.location.href=str window.close ()}αλλιώς {επιφυλακή ( παρακαλώ περιμένει έως ότου έχει εποικήσει ο κατάλογος. )}} < \ /script>»)
  86.   new_document.writeln («μορφές και τομείς καταλόγων σε <b>» + parentwin.document.title + «</b>: <ol>»)
  87.  
  88.   Το // παίρνει τον κατάλογο μορφών από το αρχικό έγγραφο
  89.   το VAR διαμορφώνει = parentwin.document.forms
  90.   new_document.writeln (το «έγγραφο <b>This περιέχει: «+ forms.length +» forms.</b>»)
  91.   new_document.writeln («<br/>»)
  92.   new_document.writeln («<hr/>»)
  93.   new_document.writeln («<br/>»)
  94.   new_document.writeln («<b>Form και τομέας listings</b><br/>»)
  95.   new_document.writeln («<br/>»)
  96.   new_document.writeln («αυτό το τμήμα θα απαριθμήσει όλες τις μορφές και fields.<br/> τους»)
  97.   new_document.writeln («<br/>»)
  98.  
  99.   Το // επαναλαμβάνει όλες τις μορφές και επιδεικνύει τις πληροφορίες τους και έπειτα τους τομείς.
  100.   για (ι = 0 ι <forms.length i++)
  101.   {
  102.     curform = μορφές [ι]
  103.     new_document.writeln («<br/><h2>Form «+ (ι + 1) + «: «+ curform.name + «</h2>»)
  104.     new_document.writeln («<b>Submits σε: </b>» + curform.action + «<br/><br/>»)
  105.     new_document.writeln («<b>Fields: </b> (FieldName: Αξία) <br/>»)
  106.  
  107.     // υπάρχουν διάφορες μέθοδοι για να καθορίσουν τους τομείς που χρησιμοποιούνται σε μια μορφή.
  108.     // σε αυτό το παράδειγμα θα ζητήσουμε μια σειρά στοιχείων.  Θα ζητήσουμε έναν κατάλογο
  109.     // όλες οι ετικέττες εισαγωγής.
  110.     στοιχεία VAR = curform.getElementsByTagName («εισαγωγή»)
  111.  
  112.     Το // ο κατάλογος θα επαναληφθεί τώρα και το όνομα και η τρέχουσα αξία θα επιδειχθούν για κάθε μια.
  113.     // που άλλες ιδιότητες όπως η προκαθορισμένη αξία θα μπορούσαν να επιδειχθούν εάν αυτό επιδιώχτηκε.
  114.     για (VAR j = 0 j <elements.length j++)
  115.     {
  116.       curelement VAR = στοιχεία [j]
  117.       new_document.writeln (curelement.name + «: «+ curelement.value + «<br/>»)
  118.     }
  119.  
  120.     Το // αυτό είναι ένα freebie που θα χρησιμοποιηθεί ως αναφορά σε άλλα άρθρα σχετικά με το TheCodeCave.com
  121.     Το // αυτή η ρουτίνα χτίζει γρήγορα την πηγή των Δελφών για να ορίσει τα μετα στοιχεία σε μια μεταβλητή.
  122.     Το // δεδομένου ότι τα μετα στοιχεία μπορούν να είναι οποιοδήποτε μήκος, αυτή η ρουτίνα σπάζει παρατάσσει περίπου σε 255
  123.     χαρακτήρες του // για τον ευκολότερο χειρισμό.
  124.     // υποθέτω ότι πρέπει να περικόξει από το trailin «+ & +» και να υποβάλει μια άνω τελεία, αλλά
  125.     άδεια του // ότι μέχρι σας για να κάνετε εάν σκεφτείτε θα χρησιμοποιήσετε πραγματικά αυτό.
  126.     new_document.writeln («<br/>»)
  127.     new_document.writeln («<br/>»)
  128.     new_document.writeln («<b>DELPHI ENCODEDED ΣΤΟΙΧΕΊΑ STRING</b> - κολλήστε αυτό το κείμενο σε μια θέση μορφής των Δελφών για να αυτοματοποιήσετε το post.<br/>»)
  129.     new_document.writeln («<br/>»)
  130.     new_document.writeln («EncodedDataString: = «)
  131.     το VAR = 0
  132.     για (VAR j = 0 j <elements.length j++)
  133.     {
  134.       curelement VAR = στοιχεία [j]
  135.       απόρριμα VAR = «HTTPEncode («» + curelement.name + «`) + `= " + HTTPEncode («» + curelement.value + «`) + `& " + «
  136.  
  137.       εάν ((+ scrap.length) > 255) {
  138.          new_document.writeln («<br/>»)
  139.          = 0
  140.       }
  141.       αλλιώς {
  142.         = + scrap.length
  143.       }
  144.       new_document.writeln (απόρριμα)
  145.     }
  146.     new_document.writeln («<hr/>»)
  147.  
  148.   }
  149.   // στενό από το έγγραφο με μια υποσημείωση.
  150.   new_document.writeln («</ul><center>For περισσότερες πληροφορίες, παρακαλώ επισκέπτονται την αποθήκευση <a href='http://www.thecodecave.com Title='Cold για τον καλύτερο κώδικα >The Cave</a> ιδεών μου… «- Brian<br/><br/><br/><a href='javascript: window.close () «style=» χρώμα \: #FF0000 κείμενο-διακόσμηση: κανένας >close</a></center><br/></body>»)
  151.   new_document.writeln («</font></html>»)
  152.   new_document.close ()
  153.  
  154.   Το // ορίζει τη μορφή γονέων στο νέο έγγραφο έτσι ώστε όταν κλείνουν τη σελίδα γονέων, αυτή η σελίδα είναι κλειστή επίσης.
  155.   new_document.my_parent = parentwin
  156. }
  157. </script>

1 σχόλιο »

  1. [...] Έχω κάνει δύο αλλαγές στις μορφές και τομέας lister τοποθέτησα χθες - την αρχική θέση έχουν αλλάξει για να τις περιλάβει. [...]

    Pingback από τη σπηλιά κώδικα - 20 Ιουλίου 2006 @ 10:45 AM

Τροφή RSS για σχόλια σε αυτήν την θέση. TrackBack URL

Αφήστε ένα σχόλιο

Τροφοδοτημένος από WordPress