SlideShare una empresa de Scribd logo
1 de 75
Descargar para leer sin conexión
Bobby van der Sluis
Embed SWF files into a Web page
Why SWFObject 2?

   Web standards
   Alternative content
   Flash Player detection
   Adobe Express Install
   JavaScript API
   Easy to use
Officially supported by Adobe
SWFObject 2 ZIP file
SWFObject 2 Generator


    Publishing tool
    HTML page
    Adobe AIR 1.0 application
One solution for everybody
Static publishing


HTML to embed SWF content
and alternative content
Unobtrusive JavaScript to resolve
issues
Dynamic publishing


HTML to define alternative content
Unobtrusive JavaScript to replace this
with a SWF when the required Flash Player
and JavaScript support is available
Static publishing


Embed mechanism doesn’t rely
on JavaScript
Click to activate active content
Dynamic publishing

No click-to-activate
Easy to integrate with scripted
applications
6% of your visitors will not have
the required JavaScript support
Example 1: Hello World
Ingredients


swfobject.js
expressInstall.swf
SWFObject 2 Generator AIR 1.0
test.swf
test.swf



                  300 x 120 px
                  Flash Player 6

                v = $version;
http://code.google.com/p/swfobject/wiki/test_suite
Static publishing
Dynamic publishing
Configuring SWF content
Adobe Express Install


Mechanism built into Flash Player
Prompt to update outdated plug-in
Required: Win/Mac and FP6r65+
Optional in SWFObject
Alternative content
#1:
  Translate SWF content into HTML content
that is accessible for people without the required
       Flash Player or JavaScript support
#2:
Unobtrusive method to point visitors to
   the Flash Player download page
#3:
Create search engine-friendly content
Doesn't Google index SWFs?

   Google indexes both alternative and
   SWF content
   Not all search engines index SWF
   content
   SWF indexing is still limited: text
   and links only
The power of HTML content


       1. Descriptive
       2. Hierarchy
       3. Semantics
Make sure that your alternative content
   truly reflects your Flash content
Example 2:
Full Browser Flash
Summarizing


1. 100% width and height
2. Add CSS to get rid of default
   margin/padding and set the height
   of all parent containers for Firefox
Scaling and alignment
Manage from within SWF
Always use a resize handler
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

stage.addEventListener(Event.RESIZE, resizeHandler);

function resizeHandler(event:Event):void {
  // e.g. center stuff
}
Example 3:
JS to AS communication
using External Interface
External Interface


    Allows two-way communication
   between SWF and an HTML page
               Flash Player 8+
                ActionScript 2
http://livedocs.adobe.com/flash/8/main/00002200.html
The example


JavaScript to ActionScript
To register an AS method as
callable from JS:
addCallback(methodName:String, instance:Object,
method:Function):Boolean
Upload your files
Summarizing


1. Register an AS method as callable
   from JS
2. Add an ID to your object element
3. Call your AS method from JS
Static publishing

Uses nested objects
Add an ID to your outer object
element only
To reference your active object
element use:
swfobject.getObjectById(objectIdStr)
Using the JavaScript API
SWFObject JavaScript API

  Focuses on publishing SWFs and
      detecting Flash Player
 Lets developers reuse SWFObject's
          internal functions
  http://code.google.com/p/swfobject/wiki/api
10 methods
swfobject.registerObject(...)
swfobject.getObjectById(...)


swfobject.embedSWF(...)
swfobject.createSWF(...)

swfobject.getFlashPlayerVersion()
swfobject.hasFlashPlayerVersion(...)


swfobject.addLoadEvent(...)
swfobject.addDomLoadEvent(...)


swfobject.createCSS(...)


swfobject.getQueryParamValue(...)
Example 4:
Getting Flash Player version
getFlashPlayerVersion


 Returns a JavaScript object that
 contains the major, minor and
 release version numbers
 MAC 9,0,124,0
The JavaScript code
<script type=quot;text/javascriptquot; src=quot;swfobject.jsquot;></script>

<script type=quot;text/javascriptquot;>

var playerVersion = swfobject.getFlashPlayerVersion();

var output = quot;You have Flash player quot; +

  playerVersion.major + quot;.quot; +

  playerVersion.minor + quot;.quot; +

  playerVersion.release + quot; installedquot;;

alert(output);

</script>
The result
Thank you!
http://www.bobbyvandersluis.com/presentations/

     http://code.google.com/p/swfobject/

Más contenido relacionado

Destacado

Deakin University Presentation - Talis Aspire User Group February 2015
Deakin University Presentation - Talis Aspire User Group February 2015Deakin University Presentation - Talis Aspire User Group February 2015
Deakin University Presentation - Talis Aspire User Group February 2015Talis
 
Distance Learning and Scale - Rod Rizzi, Monash University
Distance Learning and Scale - Rod Rizzi, Monash UniversityDistance Learning and Scale - Rod Rizzi, Monash University
Distance Learning and Scale - Rod Rizzi, Monash UniversityTalis
 
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at Griffith
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at GriffithTalis Insight Asia-Pacific 2017: Reading lists: academic adoption at Griffith
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at GriffithTalis
 
Talis Insight Asia-Pacific 2017: Nicole Healy, QUT
Talis Insight Asia-Pacific 2017: Nicole Healy, QUTTalis Insight Asia-Pacific 2017: Nicole Healy, QUT
Talis Insight Asia-Pacific 2017: Nicole Healy, QUTTalis
 
Monash - Talis Aspire User Group presentation
Monash - Talis Aspire User Group presentationMonash - Talis Aspire User Group presentation
Monash - Talis Aspire User Group presentationTalis
 
Talis Academic Adoption Presentation February 2015
Talis Academic Adoption Presentation February 2015Talis Academic Adoption Presentation February 2015
Talis Academic Adoption Presentation February 2015Talis
 
Talis Insight Asia-Pacific 2017: Anne Kealley CEO, Caudit
Talis Insight Asia-Pacific 2017: Anne Kealley CEO, CauditTalis Insight Asia-Pacific 2017: Anne Kealley CEO, Caudit
Talis Insight Asia-Pacific 2017: Anne Kealley CEO, CauditTalis
 
Talis Insight Asia-Pacific 2017: Victoria University of Wellington
Talis Insight Asia-Pacific 2017: Victoria University of WellingtonTalis Insight Asia-Pacific 2017: Victoria University of Wellington
Talis Insight Asia-Pacific 2017: Victoria University of WellingtonTalis
 
Talis Insight Asia-Pacific 2017: Craig Milne, Griffith University
Talis Insight Asia-Pacific 2017: Craig Milne, Griffith UniversityTalis Insight Asia-Pacific 2017: Craig Milne, Griffith University
Talis Insight Asia-Pacific 2017: Craig Milne, Griffith UniversityTalis
 
Insight Asia-Pacific 2017: Talis Keynote
Insight Asia-Pacific 2017: Talis KeynoteInsight Asia-Pacific 2017: Talis Keynote
Insight Asia-Pacific 2017: Talis KeynoteTalis
 
Talis Insight Asia-Pacific 2017: Rodney Tamblyn, Talis
Talis Insight Asia-Pacific 2017: Rodney Tamblyn, TalisTalis Insight Asia-Pacific 2017: Rodney Tamblyn, Talis
Talis Insight Asia-Pacific 2017: Rodney Tamblyn, TalisTalis
 
Talis Insight Asia-Pacific 2017: Kim Tairi, AUT
Talis Insight Asia-Pacific 2017: Kim Tairi, AUTTalis Insight Asia-Pacific 2017: Kim Tairi, AUT
Talis Insight Asia-Pacific 2017: Kim Tairi, AUTTalis
 
The Desirability of Connected Products
The Desirability of Connected ProductsThe Desirability of Connected Products
The Desirability of Connected ProductsJ F Grossen
 
SNPデータ解析入門
SNPデータ解析入門SNPデータ解析入門
SNPデータ解析入門Amelieff
 
Open Source - Hip not Hype
Open Source - Hip not HypeOpen Source - Hip not Hype
Open Source - Hip not HypePriyank Kapadia
 
Advances in schizophrenia
Advances in schizophreniaAdvances in schizophrenia
Advances in schizophreniadrshravan
 
Molecular Marker-assisted Breeding in Rice
Molecular Marker-assisted Breeding in RiceMolecular Marker-assisted Breeding in Rice
Molecular Marker-assisted Breeding in RiceFOODCROPS
 

Destacado (17)

Deakin University Presentation - Talis Aspire User Group February 2015
Deakin University Presentation - Talis Aspire User Group February 2015Deakin University Presentation - Talis Aspire User Group February 2015
Deakin University Presentation - Talis Aspire User Group February 2015
 
Distance Learning and Scale - Rod Rizzi, Monash University
Distance Learning and Scale - Rod Rizzi, Monash UniversityDistance Learning and Scale - Rod Rizzi, Monash University
Distance Learning and Scale - Rod Rizzi, Monash University
 
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at Griffith
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at GriffithTalis Insight Asia-Pacific 2017: Reading lists: academic adoption at Griffith
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at Griffith
 
Talis Insight Asia-Pacific 2017: Nicole Healy, QUT
Talis Insight Asia-Pacific 2017: Nicole Healy, QUTTalis Insight Asia-Pacific 2017: Nicole Healy, QUT
Talis Insight Asia-Pacific 2017: Nicole Healy, QUT
 
Monash - Talis Aspire User Group presentation
Monash - Talis Aspire User Group presentationMonash - Talis Aspire User Group presentation
Monash - Talis Aspire User Group presentation
 
Talis Academic Adoption Presentation February 2015
Talis Academic Adoption Presentation February 2015Talis Academic Adoption Presentation February 2015
Talis Academic Adoption Presentation February 2015
 
Talis Insight Asia-Pacific 2017: Anne Kealley CEO, Caudit
Talis Insight Asia-Pacific 2017: Anne Kealley CEO, CauditTalis Insight Asia-Pacific 2017: Anne Kealley CEO, Caudit
Talis Insight Asia-Pacific 2017: Anne Kealley CEO, Caudit
 
Talis Insight Asia-Pacific 2017: Victoria University of Wellington
Talis Insight Asia-Pacific 2017: Victoria University of WellingtonTalis Insight Asia-Pacific 2017: Victoria University of Wellington
Talis Insight Asia-Pacific 2017: Victoria University of Wellington
 
Talis Insight Asia-Pacific 2017: Craig Milne, Griffith University
Talis Insight Asia-Pacific 2017: Craig Milne, Griffith UniversityTalis Insight Asia-Pacific 2017: Craig Milne, Griffith University
Talis Insight Asia-Pacific 2017: Craig Milne, Griffith University
 
Insight Asia-Pacific 2017: Talis Keynote
Insight Asia-Pacific 2017: Talis KeynoteInsight Asia-Pacific 2017: Talis Keynote
Insight Asia-Pacific 2017: Talis Keynote
 
Talis Insight Asia-Pacific 2017: Rodney Tamblyn, Talis
Talis Insight Asia-Pacific 2017: Rodney Tamblyn, TalisTalis Insight Asia-Pacific 2017: Rodney Tamblyn, Talis
Talis Insight Asia-Pacific 2017: Rodney Tamblyn, Talis
 
Talis Insight Asia-Pacific 2017: Kim Tairi, AUT
Talis Insight Asia-Pacific 2017: Kim Tairi, AUTTalis Insight Asia-Pacific 2017: Kim Tairi, AUT
Talis Insight Asia-Pacific 2017: Kim Tairi, AUT
 
The Desirability of Connected Products
The Desirability of Connected ProductsThe Desirability of Connected Products
The Desirability of Connected Products
 
SNPデータ解析入門
SNPデータ解析入門SNPデータ解析入門
SNPデータ解析入門
 
Open Source - Hip not Hype
Open Source - Hip not HypeOpen Source - Hip not Hype
Open Source - Hip not Hype
 
Advances in schizophrenia
Advances in schizophreniaAdvances in schizophrenia
Advances in schizophrenia
 
Molecular Marker-assisted Breeding in Rice
Molecular Marker-assisted Breeding in RiceMolecular Marker-assisted Breeding in Rice
Molecular Marker-assisted Breeding in Rice
 

Último

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Último (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

SWFObject 2 masterclass