
Το SWFObject 2.0 κυκλοφόρησε στις 14 Μαρτίου το 2008 και περιλαμβάνει:
Πρόκειται για ένα μικρό αρχείο JavaScript που χρησιμοποιείται για την ενσωμάτωση περιεχομένου Adobe Flash σε μία ιστιοσελίδα. Το script μπορεί να εντοπίσει το Flash plug-in σε όλους τους κύριους web browser (Mac και Pc). Σχεδιάστηκε για να κάνει την ενσωμάτωση των Flash ταινιών πιο εύκολη από ποτέ. Είναι φιλικό με τις μηχανές αναζήτησης και αναμένεται να είναι συμβατό για αρκετά ακόμα χρόνια.
Το SWFObject 2.0 :
Το SWFObject 2 χρησιμοποιεί JavaScript για να ξεπεράσει θέματα που δεν μπορούν να επιλυθούν μόνο με την γλώσσα σήμανσης κειμένου(markup*).
Τα οφέλη της στατικής μεθόδου :
Τα οφέλη της δυναμικής μεθόδου:
Βήμα 1ο:
Ενσωματώστε το περιεχόμενο του Flash μαζί με το εναλλακτικό κείμενο χρησιμοποιώντας γλώσσα σήμανσης κειμένου (markup language).Η ενσωμάτωση του SWFObject χρησιμοποιεί την μέθοδο εμφωλιασμένων αντικειμένων (με ξεχωριστά, υποθετικά σχόλια στην περίπτωση του Ιnternet Explorer).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>SWFObject - step 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<div><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
<param name="movie" value="myContent.swf" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
<!--<![endif]-->
<p>Alternative content</p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
Σημείωση: Η παραπάνω μέθοδος απαιτεί διπλή δήλωση του object (Την εξωτερική που απευθύνεται στον Internet Explorer και την εσωτερική για όλους τους άλλους browsers). Επομένως πρέπει να καθοριστούν τα χαρακτηριστικά του object και τα στοιχεία param δύο φορές.
Απαιτούμενα χαρακτηριστικά :
Απαιτούμενα param στοιχεία.
Σημείωση: Προτρέπεται να μην γίνεται χρήση του codebase χαρακτηριστικού για επικοινωνία με τον Server της Adobe, προκειμένου να κατεβάσετε τον installer του Flash plug-in. Προτείνουμε την χρήση του εναλλακτικού κειμένου με ένα διακριτικό μήνυμα ότι ο χρήστης μπορεί να έχει μία καλύτερη εμπειρία αν κατεβάσει τον plug-in του Flash.
Σημείωση: Η ετικέτα param καθορίζει τα run-time χαρακτηριστικά του object.>
Μπορείτε να προσθέσετε τα ακόλουθα προαιρετικά χαρακτηριστικά στο στοιχείο object.
Μπορείτε να χρησιμοποιήσετε τα επόμενα προαιρετικά param στοιχεία (πληροφορίες).

Το στοιχείο object επιτρέπει την ύπαρξη εναλλακτικού κειμένου μέσα στα όριά του, το οποίο θα εμφανιστεί αν το Flash δεν είναι εγκατεστημένο ή δεν υποστηρίζεται. Το περιεχόμενο αυτό χρησιμοποιείται και από τις μηχανές αναζήτησης στην αναζήτηση τους. Εν τέλει, πρέπει να χρησιμοποιήσετε εναλλακτικό κείμενο όταν θέλετε να δημιουργήσετε περιεχόμενο που μπορούν να το διαβάζουν άνθρωποι που περιηγούνται στο διαδίκτυο χωρίς plug-in εγκατεστημένα, όταν θέλετε περιεχόμενο φιλικό για τις μηχανές αναζήτησης ή όταν θέλετε να ενημερώσετε τους επισκέπτες της σελίδα σας ότι κατεβάζοντας το Flash plug-in θα έχουν την δυνατότητα ποιοτικότερης περιήγησης.
Βημα 2ο :
Συμπεριλάβετε την Javascript βιβλιοθήκη του SWFObject στο head της HTML σελίδας σας.
Η βιβλιοθήκη του SWFObject αποτελείται από ένα εξωτερικό αρχείο JavaScript. To SWFObject θα εκτελεστεί μόλις διαβαστεί και θα εκτελέσει όλους τους Dom χειρισμούς μόλις το Dom θα φορτωθεί για όλους τους browsers που το υποστηρίζουν, όπως οι IE, Firefox, Safari και Οpera 9+. Διαφορετικά εκτελείτε μόλις συμβεί το onload γεγονώς.
Το HTML DOM είναι μία σταθερά για το πώς να πάρεις, αλλάξεις, προσθέσεις ή να διαγράψεις HTML στοιχεία.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>SWFObject - step 2</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="swfobject.js"></script>
</head>
<body>
<div>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
<param name="movie" value="myContent.swf" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
<!--<![endif]-->
<p>Alternative content</p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
</body>
</html>
Βήμα 3ο :
Καταχωρήστε το περιέχομενο του Flash στην βιβλιοθήκη του SWFObject και ενημερώστε το SWFObject τι να κάνει με αυτό.
Πρώτα απ' όλα προσθέστε ένα μοναδικό id στο "εξωτερική" object ετικέτα (tag) που καθορίζει το περιεχόμενο του Flash. Στην συνέχεια προσθέστε την swfobject.registerObject() μέθοδο, η οποία περιμένει τέσσερα (4) ορίσματα.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>SWFObject - step 3</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.registerObject("myId", "9.0.115", "expressInstall.swf");
</script>
</head>
<body>
<div>
<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
<param name="movie" value="myContent.swf" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
<!--<![endif]-->
<p>Alternative content</p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
</body>
</html>
Βήμα 1ο:
Δημιουργήστε εναλλακτικό κείμενο χρησιμοποιώντας την HTML.
Η δυναμική μέθοδος ενσωμάτωσης του SWFObject ακολουθεί τις αρχές της προοδευτικής αναβάθμισης αντικαθιστώντας το εναλλακτικό HTML περιεχόμενο με το Flash περιεχόμενο όταν υποστηρίζεται η JavaScript και υπάρχουν τα απαραίτητα plug-in του Flash από την μεριά του χρήστη. Αρχικά ορίζουμε το εναλλακτικό κείμενο μέσα σ΄ ένα tag(ετικέτα) και το προσδιορίζουμε με ένα id.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>SWFObject dynamic embed - step 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<div id="myContent">
<p>Alternative content</p>
</div>
</body>
</html>
Βήμα 2:
Συμπεριλάβετε την JavaScript βιβλιοθήκη του SWFObject στο head μέρος της HTML σελίδας σας.
Η βιβλιοθήκη του SWFObject αποτελείται από ένα εξωτερικό αρχείο JavaScript. To SWFObject θα εκτελεστεί μόλις διαβαστεί και θα εκτελέσει όλους τους Dom χειρισμούς για όλους τους browsers που το υποστηρίζουν, όπως οι IE, Firefox, Safari και Οpera 9+. Αλλιώς εκτελείτε μόλις συμβεί το onload γεγονός.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>SWFObject dynamic embed - step 2</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="swfobject.js"></script>
</head>
<body>
<div id="myContent">
<p>Alternative content</p>
</div>
</body>
</html>
Επεξήγηση κώδικα: Μέσα στο div id="myContent"…… «κρατάμε» την Flash ταινία μας. Το κείμενο που υπάρχει μέσα σ αυτό το HTML στοιχείο περιμένει να αντικατασταθεί από το κανονικό Flash περιεχόμενο. Επομένως οι χρήστες που έχουν εγκατεστημένο το κατάλληλο plug-in του Flash δεν θα δούνε ποτέ αυτό το κείμενο. Το χαρακτηριστικό αυτό, έχει το επιπλέον πλεονέκτημα ότι επιτρέπει στις μηχανές αναζήτησης να κατηγοριοποιούν αυτό το εναλλακτικό κείμενο.
Βήμα 3ο:
Ενσωματώστε το .swf αρχείο με την χρήση JavaScript.
swfobject.embedSWF (swfUrl, id, width, height, version, expressInstallSwfurl, flashvars, params, attributes, callbackFn) έχει πέντε απαραίτητα και πέντε προαιρετικά ορίσματα.(περισσότερα )
Σημείωση: Μπορείτε να παραλείψετε τα προαιρετικά ορίσματα, αρκεί να μην διαταράξετε την σειρά των παραμέτρων. Αν δεν θέλετε να χρησιμοποιήσετε μια προαιρετική παράμετρο, αλλά θέλετε να χρησιμοποιήσετε την επόμενή της, απλά περνάτε false σαν τιμή αυτής της παραμέτρου. Για τα ορίσματα Flashvars, params και attributes μπορείτε να περάσετε ακόμη και ένα κενό αντικείμενο {}.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>SWFObject dynamic embed - step 3</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
</script>
</head>
<body>
<div id="myContent">
<p>Alternative content</p>
</div>
</body>
</html>
Προσθέτοντας τα παρακάτω προαιρετικά χαρακτηριστικά (link) στο στοιχείο object:
Μπορείτε να προσθέσετε τα ακόλουθα προαιρετικά στοιχεία param.
Μπορείτε να ορίσετε JavaScript αντικείμενα χρησιμοποιώντας την κατά λέξη δήλωση η οποία μοιάζει με τον παρακάτω κώδικα:
<script type="text/javascript">
var flashvars = {};
var params = {};
var attributes = {};
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes);
</script>
Να προσθέσετε ζευγάρια όνομα : τιμή κατά την δήλωση ενός αντικειμένου.(Σημείωση: μην βάζετε κόμμα μετά το τελευταίο ζευγάρι μέσα στο αντικείμενο).
<script type="text/javascript">var flashvars = {
name1: "hello",
name2: "world",
name3: "foobar"
};
var params = {
menu: "false"
};
var attributes = {
id: "myDynamicContent",
name: "myDynamicContent"
};swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes); </script>
Ή να προσθέσετε ιδιότητες και τιμές μετά την δημιουργία του αντικειμένου με την χρήση της τελείας (dot notation):
<script type="text/javascript">
var flashvars = {};
flashvars.name1 = "hello";
flashvars.name2 = "world";
flashvars.name3 = "foobar";
var params = {};
params.menu = "false";
var attributes = {};
attributes.id = "myDynamicContent";
attributes.name = "myDynamicContent";
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes);
</script>
Το οποίο μπορεί να γραφτεί και σαν (η πιο δυσανάγνωστη μέθοδος αλλά και η πιο σύντομη) :.
<script type="text/javascript">
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", {name1:"hello",name2:"world",name3:"foobar"}, {menu:"false"}, {id:"myDynamicContent",name:"myDynamicContent"});
</script>
Αν δε θέλετε να χρησιμοποιήσετε ένα όρισμα τo ορίζετε σαν false ή σαν κενό. (μπορείτε να χρησιμοποιήσετε και null ή 0).
<script type="text/javascript">
var flashvars = false;
var params = {};
var attributes = {
id: "myDynamicContent",
name: "myDynamicContent"
};
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes);
</script>
Η δήλωση του αντικειμένου Flashvar υπάρχει για την δικιά σας ευκολία χρήσης. Μπορείτε να την αγνοήσετε και να ορίσετε τα flashvars μέσω του αντικειμένου params.
<script type="text/javascript">
var flashvars = false;
var params = {
menu: "false",
flashvars: "name1=hello&name2=world&name3=foobar"
};
var attributes = {
id: "myDynamicContent",
name: "myDynamicContent"
};
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes);
*Λόγω της δυσκολίας να αποδώσω με ευκρίνεια την έννοια της λέξης markup χρησιμοποιώ αυτήν εδώ την επεξήγηση. Ο όρος markup περιλαμβάνει την HTML, την CSS και το Script. Για χάρη συντομίας στην μετάφραση θα χρησιμοποιείται η «γλώσσα σήμανσης κειμένου» αντί του παραπάνω όρου.
Στην ετικέτα object συμπεριλαμβάνονται αντικείμενα όπως εικόνες, ήχος, video, Java applets, ActiveX, PDF και Flash.
To στοιχείο object σχεδιαζόταν για να αντικαταστήσει τα στοιχεία img και applet αλλά εξαιτίας των προβλημάτων και την έλλειψης υποστήριξης από την μεριά των browsers αυτό δεν συνέβει.
Σημαντικό: Μην χρησιμοποιήσετε την ετικέτα object για εικόνες. Χρησιμοποιήστε την ετικέτα img καλύτερα.
Παράδειγμα ενσωμάτωσης Flash περιεχομένου με την δυναμική μέθοδο δημοσίευσης.