Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!

Jetzt kostenlos registrieren

Haupt URL auslesen

Fragen zum Thema JavaScript können hier gestellt werden

Moderatoren: Basti, Guillermo, Ingo

Haupt URL auslesen

Beitragvon infoweb am 14.01.2012, 17:00

Wie kann ich dynamisch in diese Zeile Haupt URL der Seite ohne www. hinzufügen?

Code: Alles auswählen
$script .= "_a2.push(['disallowDomains', [' ??? ']]);\n";


Beispiel:
Code: Alles auswählen
$script .= "_a2.push(['disallowDomains', ['domain.de']]);\n";
infoweb
Mitglied
 
Beiträge: 4
Registriert: 10.09.2010, 14:23
Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!
 
Jetzt kostenlos registrieren

Re: Haupt URL auslesen

Beitragvon Ingo am 14.01.2012, 18:49

Hi.

Hier kann man z.B. replace nutzen. replace sucht im String nach einem Muster (???) und ersetzt
die Fundstelle mit etwas anderem ('domain.de'):

Code: Alles auswählen
  script += "_a2.push(['disallowDomains', [' ??? ']]);\n";
  script = script.replace(/\?{3}/, 'domain.de');

\?{3} ist ein "regulärer Ausdruck" für das Muster: '???'. ? muss maskiert werden, deswegen \ vorweg.
Syntax: Variablen müssen nicht unbedingt mit $ anfangen (in Perl/PHP ist das ja anders). Wichtig:
Der Verkettungoperator für Strings lautet in JS '+', also script += 'wasauchimmer'.

Alternativ kann man auch mit indexof und split/slice arbeiten, was ggf. performanter sein sollte.

Gruß, Ingo :)

PS: Die Domain der eigenen Seite erhält man mit location.host. Auch da kann man mit regulären
Audrücken den betreffenden Teilstring rausholen. Bei Problemen einfach melden.
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Wer glaubt etwas zu sein, hat aufgehört etwas zu werden.
Benutzeravatar
Ingo
Web Moderator
 
Beiträge: 1722
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW

Re: Haupt URL auslesen

Beitragvon infoweb am 14.01.2012, 19:22

Danke für Antwort.
Ich habe Domainname mit $_SERVER['HTTP_HOST' ausgelesen und mit <?php echo $ohnewww() ?> ausgegeben.

Wie kann ich nun <?php echo $ohnewww() ?> ihn diese Zeile einfügen?

So funktioniert es nicht:

Code: Alles auswählen
$script .= "_a2.push(['disallowDomains', ['".$ohnewww."']]);\n";
infoweb
Mitglied
 
Beiträge: 4
Registriert: 10.09.2010, 14:23

Re: Haupt URL auslesen

Beitragvon Ingo am 14.01.2012, 20:32

Also geht es hier um PHP? Oder ist da auch JS mit drin? Bitte mal den Zusammenhang posten,
also das Script bzw. den hier relevanten Teil des Scripts. Sonst stochern wir hier im Nebel. :wink:
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Wer glaubt etwas zu sein, hat aufgehört etwas zu werden.
Benutzeravatar
Ingo
Web Moderator
 
Beiträge: 1722
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW

Re: Haupt URL auslesen

Beitragvon infoweb am 14.01.2012, 20:41

Code:

Code: Alles auswählen
add_action('wp_footer', 'np_test3456_get_script');

//get options
function np_test3456_get_options(){
    $explode = explode('/',get_option('home'));
    $options = array(
        'np_test3456_id' => get_option('np_test3456_id'),
        'np_test3456_type' => get_option('np_test3456_type'),
        'np_test3456_convert' => (get_option('np_test3456_convert') == 'outgoing') ? $explode[2]:''
    );
    return $options;
}

function np_test3456_get_script(){
    if(!get_option('np_test3456_enable')){
        return false;
    }
    //get plugin options
    $options = np_test3456_get_options();

    //populate script;
   $script .= "<script src=\"http://www.test3456.com/js/fp.js.php\"></script>\n";
    $script .=  "<script>\n";
   $script .= "var _x3 = _x3 || new _nsurls();\n";
   $script .= "_x3.push(['accountID', '".$options['np_test3456_id']."']);\n";
    $script .= "_x3.push(['adType', '".$options['np_test3456_type']."']);\n";
    $script .= "_x3.push(['disallowDomains', ['".$options['np_test3456_convert']."']]);\n";
   $script .= "_x3.run();\n";
    $script .= "</script>\n";
   
    echo $script;
}




Ausgabe:
Code: Alles auswählen
<script src="http://www.test3456.com/js/fp.js.php"></script>
<script>
var _x3 = _x3 || new _nsurls();
_x3.push(['accountID', '1']);
_x3.push(['adType', 'int']);
_x3.push(['disallowDomains', ['www.domain12.ch']]);
_x3.run();
</script>


Statt http://www.domain12.ch muss domain12.ch also ohne www. stehen.


Was muss noch geändert werden?
infoweb
Mitglied
 
Beiträge: 4
Registriert: 10.09.2010, 14:23

Re: Haupt URL auslesen

Beitragvon Ingo am 14.01.2012, 22:41

Ah, besser. Ist vorrangig eine PHP-Frage; ich habe da in die erste Funktione etwas eingefügt,
was den Wert in $explode[2] ändert:

Code: Alles auswählen
function np_test3456_get_options(){
    $explode = explode('/',get_option('home'));

    // $explode[2]: entferne alles bis zum ersten Punkt (inklusive)
        $pos = strpos($explode[2],'.');
        if($pos !== false)
          $explode[2] = substr($explode[2], $pos+1);

    $options = array(
        'np_test3456_id' => get_option('np_test3456_id'),
        'np_test3456_type' => get_option('np_test3456_type'),
        'np_test3456_convert' => (get_option('np_test3456_convert') == 'outgoing') ? $explode[2]:''
    );
    return $options;
}

Gruß, Ingo :)
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Wer glaubt etwas zu sein, hat aufgehört etwas zu werden.
Benutzeravatar
Ingo
Web Moderator
 
Beiträge: 1722
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW

Re: Haupt URL auslesen

Beitragvon infoweb am 16.01.2012, 14:24

Danke die Ingo :thumbsup:
infoweb
Mitglied
 
Beiträge: 4
Registriert: 10.09.2010, 14:23


Zurück zu JavaScript

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast