2011-01-26 3 views
0

Je me demandais s'il y avait un moyen d'inclure une fonctionnalité de secours pour Piecemaker, donc quand un site web est vu sur un mobile, la page revient à utiliser un curseur basé sur javascript.Piecemaker fallback

Toute aide est appréciée.

Répondre

0

Avez-vous pu comprendre cela? Je ne pense pas que Piecemaker a cette option par défaut et je n'ai pas vu un moyen de le faire avec javascript qui imite 100% les effets Flash de Piecemaker (encore). Il y a probablement une meilleure façon de le faire, mais la première chose qui vient à l'esprit est l'utilisation d'un code de détection de navigateur mobile (il y en a plusieurs disponibles). Vous ne savez pas quel langage de programmation vous préférez, mais faites juste un recherche rapide sur Google et vous pouvez trouver différentes options). Vous pouvez ensuite afficher une version de votre page en utilisant Piecemaker par défaut ou, si le visiteur utilise un navigateur mobile, afficher une version avec le curseur javascript/jQuery de votre choix.

EDIT On dirait que cela est une bonne alternative avec une solution de repli pour les navigateurs plus anciens: http://tympanus.net/Development/Slicebox/index4.html

Hope that helps!

1

Donc je pense que j'ai trouvé un moyen de contourner cela en suivant la veine de la pensée de crayon1 et en changeant la façon dont il embarque le flash afin que le html enfant de repli puisse être inclus. Cela nécessite de changer deux fichiers:

JavaScriptFlashGateway.js &

Piecemaker-main.php (En supposant que nous parlons du plugin WordPress)

En JavaScriptFlashGateway.js, trouver ce code:

function FlashTag(src, width, height) 
{ 
    this.src  = src; 
    this.width  = width; 
    this.height = height; 
    this.version = '9,0,0'; 
    this.id  = null; 
    this.salign = "tl"; 
    this.scale = "noscale"; 
    this.allowScriptAccess = "always"; 
    this.allowfullscreen = "true"; 
    this.bgcolor = 'ffffff'; 
    this.flashVars = null; 
    this.wmode  = null; 
} 

Et changer à ceci:

function FlashTag(src, width, height, fallback) 
{ 
    this.src  = src; 
    this.width  = width; 
    this.height = height; 
    this.fallback = fallback; 
    this.version = '9,0,0'; 
    this.id  = null; 
    this.salign = "tl"; 
    this.scale = "noscale"; 
    this.allowScriptAccess = "always"; 
    this.allowfullscreen = "true"; 
    this.bgcolor = 'ffffff'; 
    this.flashVars = null; 
    this.wmode  = null; 
} 

Puis encore trouver dans cette ligne: "FlashTag.prototype.toString = function()"

Et remplacer cette fonction entière avec ceci:

FlashTag.prototype.toString = function() 
{ 
    var ie = (navigator.appName.indexOf ("Microsoft") != -1) ? 1 : 0; 
    var flashTag = new String(); 
    flashTag += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" '; 
    if (this.id != null) 
    { 
     flashTag += 'id="'+this.id+'" '; 
    } 
    flashTag += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+this.version+'" '; 
    flashTag += 'width="'+this.width+'" '; 
    flashTag += 'height="'+this.height+'">'; 
    flashTag += '<param name="movie" value="'+this.src+'"/>'; 
    flashTag += '<param name="quality" value="high"/>'; 
    flashTag += '<param name="bgcolor" value="#'+this.bgcolor+'"/>'; 
    flashTag += '<param name="scale" value="noscale"/>'; 
    flashTag += '<param name="allowScriptAccess" value="always"/>'; 
    flashTag += '<param name="salign" value="tl"/>'; 
    flashTag += '<param name="allowfullscreen" value="true"/>'; 
    flashTag += '<param name="wmode" value="transparent"/>'; 
    if (this.flashVars != null) 
    { 
     flashTag += '<param name="flashvars" value="'+this.flashVars+'"/>'; 
    } 
    if(!ie) { 
     flashTag += '<object type="application/x-shockwave-flash" '; 
     flashTag += 'data="'+this.src+'" '; 
     flashTag += 'width="'+this.width+'" '; 
     flashTag += 'height="'+this.height+'">'; 
     flashTag += '<param name="movie" value="'+this.src+'"/>'; 
     flashTag += '<param name="quality" value="high"/>'; 
     flashTag += '<param name="bgcolor" value="#'+this.bgcolor+'"/>'; 
     flashTag += '<param name="scale" value="noscale"/>'; 
     flashTag += '<param name="allowScriptAccess" value="always"/>'; 
     flashTag += '<param name="salign" value="tl"/>'; 
     flashTag += '<param name="allowfullscreen" value="true"/>'; 
     flashTag += '<param name="wmode" value="transparent"/>'; 
     if (this.flashVars != null) 
     { 
      flashTag += '<param name="flashvars" value="'+this.flashVars+'"/>'; 
     } 
    } 
    flashTag += this.fallback; 
    if(!ie) { 
     flashTag += '</object>'; 
    } 
    flashTag += '</object>'; 
    return flashTag; 
} 

Puis, dans Piecemaker-main.php, trouver ce line: "var tag = nouveau FlashTag ('{$ this-> piecemakerSWF}', {$ att ['largeur']} + 50, {$ att ['height']} + 100, '9,0,0') "

Et remplacez '9,0,0' par n'importe quel code HTML de secours dont vous avez besoin.

Alors vous êtes prêt! J'espère que cela aide :)