mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 18:51 Benutzername: Passwort: Auto-Login

Thema: [Scripte] MGI-Codeschnipsel-Ecke vom 08.11.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [Scripte] MGI-Codeschnipsel-Ecke
Seite: Zurück  1, 2, 3, 4  Weiter
Autor Nachricht
zweitaccount

Dabei seit: 25.01.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 09.01.2009 15:17
Titel

[js] $_GET['var'] für javascript

Antworten mit Zitat Zum Seitenanfang

Hier ein kleines Javascriptchen mit dem man wie in Php per $_GET['varname']
auf übergebene Parameter zugreifen kann, inkl. einer isset-Funktion.
http://zweitaccount.zw.ohost.de/getParams/index.html#anker?id=10&name=Jack+and+Jill+didn%27t+see+the+well

Code:

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Get-Parameter per JS abholen</title>
<script type="text/javascript">
/**
 *@getParams   Durchsucht die aktuelle location.href nach Parametern
 *@return       [array] Parameter/Wert
 */
var getParams = function() {
   this.params = new Array();
   this.hash = window.location.hash;
   if (this.hash && this.hash.indexOf("?") != -1) {
      this.param = this.hash.split("?")[1];
   } else {
      this.param = window.location.search.substr(1,window.location.search.length);
   };
   if (this.param) {
      var parts = this.param.split("&");
      for (var i=0; i<parts.length; i++){
         var part = parts[i].split("=");
         this.params[unescape(part[0])] = (typeof part[1] != 'undefined') ? unescape(part[1]).replace(/[+]/g, ' ') : '';
      };
   };
   return this.params;
};
/**
 *@isset   Überprüft ob Variable gesetzt ist
 *@return   [bool]
 */
var isset = function(variable) {
   return (typeof variable != 'undefined' && variable != null);
};
$_GET = getParams();
</script>
</head>

<body>
<p>Url mit Parameter aufrufen: <a href="index.html#anker?id=10&name=Jack+and+Jill+didn%27t+see+the+well">index.html#anker?id=10&amp;name=Jack+and+Jill+didn%27t+see+the+well</a></p>
<p>-> <a href="#" onclick="alert(isset($_GET['id']));return false">alert(isset($_GET['id']))</a></p>
<p>-> <a href="#" onclick="alert($_GET['id']);return false">alert($_GET['id'])</a></p>
<p>-> <a href="#" onclick="alert(isset($_GET['name']));return false">alert(isset($_GET['name'])))</a></p>
<p>-> <a href="#" onclick="alert($_GET['name']);return false">alert($_GET['name'])</a></p>
<p>-> <a href="#" onclick="alert(isset($_GET['watanderes']));return false">alert(isset($_GET['watanderes'])))</a></p>
<p>-> <a href="#" onclick="alert($_GET['watanderes']);return false">alert($_GET['watanderes'])</a></p>
</body>
</html>


Gruß zweitaccount
Lächel
  View user's profile Private Nachricht senden
zweitaccount

Dabei seit: 25.01.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 26.01.2009 18:01
Titel

[js] UL-Listen alphabetisch per Javascript sortieren

Antworten mit Zitat Zum Seitenanfang

Hier ein kleines Schnipselchen mit dem man einfache
UL-Listen via Javascript alphabetisch sortieren lassen kann:

Code:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sort UL</title>
<script type="text/javascript">
   /**
    * @sortUl      Sortiert UL-Liste alphabetisch
    * @param      [string] className der zu sortierenden ULs
    */
   var sortUl = function(className) {
      var cName = (className)?className:'sortThis';
      var elUl = document.getElementsByTagName('ul');
     var trim = function(str) {
           var trimVal = " \t\n\r\0\x0B" || "\\s";
         var ret = str.replace(new RegExp("^[" + trimVal + "]+", "g"), "");
         ret = ret.replace(new RegExp("[" + trimVal + "]+$", "g"), "");
         return ret;
     }
      for (var i = 0; i<elUl.length; i++) {
         if (elUl[i].className != cName) continue;
         var elLi = elUl[i].getElementsByTagName('li');
         var elSort = new Array();
         for (var j = 0; j<elLi.length; j++) {
            elSort[j] = new Array();
         elLi[j].innerHTML = trim(elLi[j].innerHTML);
         elSort[j][0] = (elLi[j].firstChild.nodeType == 3) ? elLi[j].firstChild.nodeValue : elLi[j].firstChild.firstChild.nodeValue;
            elSort[j][0] = trim(elSort[j][0].toLowerCase());
            elSort[j][0] = elSort[j][0].replace(/ä/, "ae").replace(/ö/, "oe").replace(/ü/, "ue").replace(/ß/, "ss");
            elSort[j][1] = elLi[j];
         }
         var elSort = elSort.sort();   
         for (var j = 0; j<elSort.length; j++) {
             elUl[i].appendChild(elSort[j][1]);
         }
      }
   }   
   window.onload = function(){
      sortUl('sortThis');
   }
</script>
</head>

<body>
<ul class="sortThis">
   <li><h4>Clara</h4></li>
   <li>     <a href="#">     bertha     </a></li>
   <li>Sigfried</li>
   <li><a href="#">friedolin</a></li>
   <li>   alfons    </li>   
   <li>     <h2>Überschrift</h2> </li>
   <li>     Ungehobelter</li>   
   <li>Xaver     </li>     
</ul>
</body>
</html>


Grüße
zweitaccount


//update:
ignoriert jetzt die \t\n\r\ und blanks beim sortieren.
Ooops


Zuletzt bearbeitet von zweitaccount am Mo 26.01.2009 20:20, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
zweitaccount

Dabei seit: 25.01.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 30.01.2009 20:14
Titel

[js/html] E-Mail-Adressen verschleiern

Antworten mit Zitat Zum Seitenanfang

Und noch ein kleines Schnipselchen zum verschleiern von
E-Mailadressen. Diese werden einfach rückwärts in den
Code geschrieben und mit ner class versehen. Der Browser
zeigt sie richtig rum an und via JavaScript wird noch ein mailto
dazugepeppt.

Code:
<!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">
<head>
<title>Bidi-Override</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
a.mailto {
   unicode-bidi:bidi-override;
   direction:rtl;
}
-->
</style>
<script type="text/javascript">
<!--
var attachMailTo = function() {
   var mailAdr = document.getElementsByTagName('a');
   for (var i=0;i<mailAdr.length;i++) {
      if (mailAdr[i].className != 'mailto') continue;
      var email = mailAdr[i].innerHTML.split("").reverse().join("");
      mailAdr[i].href = 'mailto:' + email;
   }
}
window.onload = attachMailTo;
-->
</script>
</head>
<body>
<a href="#" class="mailto">ed.niamod@ofni</a>
</body>
</html>


Gruß zweitaccount
Lächel


Zuletzt bearbeitet von zweitaccount am Fr 30.01.2009 20:19, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Kash

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Fr 30.01.2009 20:29
Titel

Antworten mit Zitat Zum Seitenanfang

super tipp zweitaccount.danke dafür!
  View user's profile Private Nachricht senden
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Di 17.02.2009 13:36
Titel

Antworten mit Zitat Zum Seitenanfang

Jaja ich weiss quick n dirty, hab im moment nicht viel Zeit, ein roher schnipsel der sich ein paar infos aus Youtube holt zu nem Video. Das ganze ist gebastelt in PHP5.

Code:

<?php

class YoutubeVideo {
   const API_BASE_URL = 'http://gdata.youtube.com/feeds/api/videos/';
   
   protected $_video_id;
   protected $_xml_response;
   
   public $id;
   public $title;
   public $content;
   public $author;
   public $published;
   public $updated;
   public $categories = array();
   
   public function __construct($video_url = null)
   {
      $this->setVideo($video_url);
   }
   
   public function setVideo($video_url)
   {
      $parts = parse_url($video_url);
      
      if(isset($parts['query'])) {
         parse_str($parts['query']);
         
         if(isset($v)) {
            $this->_video_id = $v;   
         }
         else {
            throw new Exception('can\'t parse Video Url');
            return null;
         }
      }
      else {
         $this->_video_id = $video_id;
      }
   }
   
   public function getResponse()
   {
      $this->_xml_response = simplexml_load_file(self::API_BASE_URL . $this->_video_id);
      $this->id            = $this->_video_id;
      $this->title         = $this->_xml_response->title;
      $this->content       = $this->_xml_response->content;
      $this->author        = $this->_xml_response->author->name;
      $this->published     = $this->_xml_response->published;
      $this->updated       = $this->_xml_response->updated;
      
      foreach($this->_xml_response as $cat) {
         $this->categories[] = $cat->attributes();
      }
      
      return $this->_xml_response;
   }
}

$video = new YoutubeVideo('http://www.youtube.com/watch?v=tqghCkoJOMA&feature=bz303');
$video->getResponse();

?>
<p><b>Id: </b><?=$video->id?><d/p>
<p><b>Titel: </b><?=$video->title?></p>
<p><b>Beschreibung: </b><?=$video->content?></p>
<p><b>Author: </b><?=$video->author?></p>
<p><b>Published: </b><?=$video->published?></p>
<p><b>Updated: </b><?=$video->updated?></p>
<p><b>Kategorien: </b>
<?php foreach($video->categories as $category) { ?>
   <dl>
   <?php foreach($category as $id => $value) { ?>
      <dt><?=$id?></dt>
      <dd><?=$value?></dd>
   <?php } ?>
   </dl>
<?php } ?>
</p>


War ein kleines Experiment, als Inspiration diente: http://www.mediengestalter.info/forum/10/youtube-videos-auf-eigener-website-122331-1.html

Die Benutzung ist recht simpel. Video url oder video id dem konstruktor übergeben und dann getResponse aufrufen, dieser befehl liefert euch die komplette xml datei zurücl als simplexml objekt und speichert die informationen gleichzeitig als member ins objekt so das sie wie unten ausgegeben werden können ohne umschweife.

Ausgabe sollte bei Copy/Paste so aussehen:

Code:

<p><b>Id: </b>tqghCkoJOMA<d/p>
<p><b>Titel: </b>Koala Rescue Australia - Feel Good Story !!</p>
<p><b>Beschreibung: </b>As seen on the Today Show today - Koala rescue from burning woods in Australia. A True feel good story. Video and News interview clips with the Fire Fighter who saved the Koala. There are numerous clips on YouTube but as animal lovers we had to contribute this story to our network of subscribers and friends.</p>
<p><b>Author: </b>ClipsFC</p>
<p><b>Published: </b>2009-02-12T11:33:47.000Z</p>
<p><b>Updated: </b>2009-02-17T09:20:19.000Z</p>
<p><b>Kategorien: </b>
   <dl>
      </dl>
   <dl>
      </dl>
   <dl>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Feel</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://schemas.google.com/g/2005#kind</dd>
         <dt>term</dt>
      <dd>http://gdata.youtube.com/schemas/2007#video</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Good</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>News</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Cute</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Today</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Intervies</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Show</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/categories.cat</dd>
         <dt>term</dt>
      <dd>Film</dd>
         <dt>label</dt>
      <dd>Film & Animation</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Fighter</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Fire</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Live</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Rescue</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Australia</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Love</dd>
      </dl>
   <dl>
         <dt>scheme</dt>
      <dd>http://gdata.youtube.com/schemas/2007/keywords.cat</dd>
         <dt>term</dt>
      <dd>Koala</dd>
      </dl>
   <dl>
         <dt>type</dt>
      <dd>text</dd>
      </dl>
   <dl>
         <dt>type</dt>
      <dd>text</dd>
      </dl>
   <dl>
         <dt>rel</dt>
      <dd>alternate</dd>
         <dt>type</dt>
      <dd>text/html</dd>
         <dt>href</dt>
      <dd>http://www.youtube.com/watch?v=tqghCkoJOMA</dd>
      </dl>
   <dl>
         <dt>rel</dt>
      <dd>http://gdata.youtube.com/schemas/2007#video.responses</dd>
         <dt>type</dt>
      <dd>application/atom+xml</dd>
         <dt>href</dt>
      <dd>http://gdata.youtube.com/feeds/api/videos/tqghCkoJOMA/responses</dd>
      </dl>
   <dl>
         <dt>rel</dt>
      <dd>http://gdata.youtube.com/schemas/2007#video.related</dd>
         <dt>type</dt>
      <dd>application/atom+xml</dd>
         <dt>href</dt>
      <dd>http://gdata.youtube.com/feeds/api/videos/tqghCkoJOMA/related</dd>
      </dl>
   <dl>
         <dt>rel</dt>
      <dd>http://gdata.youtube.com/schemas/2007#mobile</dd>
         <dt>type</dt>
      <dd>text/html</dd>
         <dt>href</dt>
      <dd>http://m.youtube.com/details?v=tqghCkoJOMA</dd>
      </dl>
   <dl>
         <dt>rel</dt>
      <dd>self</dd>
         <dt>type</dt>
      <dd>application/atom+xml</dd>
         <dt>href</dt>
      <dd>http://gdata.youtube.com/feeds/api/videos/tqghCkoJOMA</dd>
      </dl>
   <dl>
      </dl>
</p>


Zuletzt bearbeitet von Pixelpole am Di 17.02.2009 13:52, insgesamt 4-mal bearbeitet
  View user's profile Private Nachricht senden
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Fr 15.05.2009 11:49
Titel

Antworten mit Zitat Zum Seitenanfang

Eine kleine funktion die überprüft ob sich 2 rechtecke überschneiden:

Code:

function rectanglesOverlap($x, $y, $w, $h, $nx, $ny, $nw, $nh)
{
   $r = $x + $w;
   $b = $y + $h;
   $nr = $nx + $nw - 1;
   $nb = $ny + $nh - 1;
      
   if (($x > $nx)
   AND ($x < $nr)) {
      if (($y >= $ny)
      AND ($y < $nb)) {
         return true;
      }
      else {
         if (($y < $ny)
         AND ($b > $ny)) {
            return true;
         }
      }
   }
   else {
      if (($x < $nx)
      AND ($r > $nx)) {
         if (($y >= $ny)
         AND ($y < $nb)) {
            return true;
         }
         else {
            if (($y < $ny)
            AND ($b > $ny)) {
               return true;
            }
         }
      }
   }
      
   return false;
}


Kann man sicher effektiver gestalten, aber sie funktioniert. Man kann wenn man eine app mit drag/drop shizzle hat auf diese weise sicherstellen das keine überschneidungen da sind. Findige Kerlchen können sie sich ja sicher noch für JS umschreiben um damit überlappungen von divs zu prüfen oder sowas *zwinker*


Zuletzt bearbeitet von Pixelpole am So 17.05.2009 13:22, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
l'Audiophile
Threadersteller

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Fr 15.05.2009 14:38
Titel

Antworten mit Zitat Zum Seitenanfang

Kommentare bitte ausschließlich hier *pah*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Mo 13.07.2009 12:52
Titel

Antworten mit Zitat Zum Seitenanfang

Moinsen allerseits,

da ich öfter mal unter Win mit Command Line Tools arbeiten muss nervt es mich höllisch jedes mal in die Konsole zu gehen den entsprechenden pfad reinzuhacken und dann erst anfangen kann mit meinem Command Line Tool rumzubasteln. Daher hätte ich gerne einen kleinen Shortcut in meiner Shortcut leiste das mit das mühselige pfadruntergehacke abnimmt und ich direkt zu meinem binary komme und sofort loslegen kann.

Nach ein wenig googlen ohne Ergebnis nahm ich mich selbst der sache an. Und es geht tatsächlich (auch wenn diverse google ergebnisse was anderes behaupten...):

Hier ein kleines Beispiel das mich zu meinem Zend Framework Verzeichnis katapultiert und mir meine Konsole auch offen hält:

Code:

@ECHO off
D:
cd D:\xampp\htdocs\ZendFramework\ZendFramework-1.8.3\bin
cmd


Der Trick ist dabei der Befehl cmd am ende. Davor könnt ihr natürlich noch jede menge lustiges Zeug abarbeiten je nachdem wie ihr grade lustig seid.

Die Batch Datei könnt ihr natürlich lustig verknüpfen wie ihr wollt. Kleiner Tip am Rande: wenn ihr mehrere davon in die Shortcutleiste pack denkt daran den einzelnen batch dateien unterschiedliche icons zu verpassen *zwinker*

Getestet habe ich es unter Windows Vista. Wäre nett wenn das eventuell noch jemand unter Windows XP oder Windows 2000 testen könnte.
  View user's profile Private Nachricht senden
 
Ähnliche Themen [Kommentare & Fragen] MGI-Codeschnipsel-Ecke
[Flash] Codeschnipsel gesucht
javascript-codeschnipsel interpretieren [inside]
[JavaScript] Codeschnipsel fehlendes Semikolon
Copyright auf Scripte?
ich suche zwei scripte
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3, 4  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.