PHP yayıncılık JavaScript

2 Cevap php

I text/javascript gibi başlık türü ile, parametresi temelinde özelleştirilmiş JavaScript yayınlayan bir PHP komut dosyası var. Bu PHP URL src, bir <script> etiketi dahil edilir. Komut işlevsiz gibi görünüyor Ancak, bir sorun var gibi görünüyor. Olduğu gibi, ben hemen dahil ettikten sonra idam edilmesi gereken, komut dosyası içinde bir uyarı var, ama olmuyor. Nerede yanlış gidiyorum?

Server Side PHP

<?php
//Exploding the path after the file widget to get user details
$expl = explode("/",$_SERVER['PATH_INFO']);
$c=count($expl);

//Handling the cases as widget/a widget//a etc 
switch($c) {
    case 2:
        if(empty($expl[0]) && !(empty($expl[1]))) pumpValid();
        else pumpInvalid();
        break;
    case 3:
        if(empty($expl[2]) && !(empty($expl[1])) && empty($expl[0])) pumpValid();
        else pumpInvalid();
        break;
    default:
        pumpInvalid();
        break;
}


function pumpValid() {
    global $expl;
    //Checking for a matching account in the urllist
    include('embedUrl/urllist.php');
    if(isset($customerList[$expl[1]])) {
        header("Content-Type: text/javascript");
        //Setting the host path  for fetching the JS files later. As in stage or vidteq.com
        echo "alert('h');";
        echo 'var _serverHostUrl="http://'.$_SERVER["SERVER_NAME"].eregi_replace('widget.*','',$_SERVER["REQUEST_URI"]).'";';
    }
    else
        pumpInvalid();
}

function pumpInvalid() {
    //Should redirect to error/home page
    echo "Are You Nuts";
}
?>

function init() {
    alert('hi');    
    addJSinHead('jquery-1.3.2.min.js');
    addJSinHead('OpenLayers.js');
    addJSinHead('json2.js');
    addJSinHead('dom-drag.js');
    addJSinHead('globals.js');
}

function addJSinHead(fileName) {
    var head=document.getElementsByTagName('head');
    var new=document.createElement('scrpit');
    new.src=_serverHostUrl+'/js'+fileName;
    new.type='text/javascript';
    head.appendChild(new);
}

init();

Inclusion in client side HTML

<script src='http://rak/cvs/widget/cis/' type='text/javascript'></script>

2 Cevap

Bir fonksiyon bloğunun içinde yürütülmelidir uyarı mı? Eğer öyleyse o zaman ilk gerçek işlevini yürütmek gerekiyor.

Ayrıca, kopyalamayı ve doğrudan tarayıcınızın url çubuğuna javascript src url yapıştırarak.

Yukarıdaki yardımcı olmadıysa, analiz için bazı kod yararlı olacaktır.

Sen script çıktı nelerle ve beklediğiniz gibi başlıklar gönderilen olduğunu görmek için Firebug ile kontrol edebilirsiniz.

Daha fazla yardım için bazı kod sağlamak gerekir.

EDIT: I don't see anywhere that you output a header in php:

 header('Content-Type: text/javascript');

EDIT2: It looks like you're calling the pumpValid function before it's defined.