mám zde část javasriptu a místo hodnot v proměnné var data
bych potřeboval vložit soubor data.php, který má uvnitř čísla která bych
chtěl zobrazit.
<!-- 2. Add the JavaScript to initialize the chart on document ready -->
<script type="text/javascript">
var data = [ 0.8446, 0.8445, 0.8444, 0.8451,0.8418, 0.8264,];
var masterChart,
detailChart;
$(document).ready(function() {
řeší se to nějak pomocí tohoto ?
<script type="text/javascript" src="data .php"> </ script>
děkuji
Záleží na tom, co soubor data.php generuje.
Pokud by generoval přímo javascriptový kód (tzn. ne pouze čísla, ale např. strukturu javascriptového pole:
var load = [0.8446, 0.8445, 0.8444, 0.8451];
Pak můžeš ve zbytku javascriptu akorát kontrolovat existenci proměnné load a rovnou ji využívat. Případně (což by bylo lepší) tohle pole generovat do stránky rovnou (tzn. ne jako script src=.., ale jako javascriptové pole) při načtení (vyhneš se tak kontrolám, jestli ta proměnná existuje).
Protože ale používáš jQuery (podle zápisu), můžeš zvážit ajaxové načítání (to je v jQuery pár řádků), to se může hodit v situacích, kdy se data často mění (např. každou minutu) a nechceš stránku načítat celou znovu (javascriptem si stáhneš jenom aktualizované pole).
<!-- 2. Add the JavaScript to initialize the chart on document ready -->
<script type="text/javascript">
var data = [ 0.8446, 0.8445, 0.8444, 0.8451,0.8418, 0.8264,];
var masterChart,
detailChart;
$(document).ready(function() {
proč nejde toto?
<!-- 2. Add the JavaScript to initialize the chart on document ready -->
<script type="text/javascript">
var data = [ <script type="text/javascript" src="data .php"> </ script> ];
var masterChart,
detailChart;
$(document).ready(function() {
v souboru data.php je
<?php
echo '0.8446, 0.8445, 0.8444, 0.8451, 0.8418, 0.8264';
?>
děkuji
Do elementu <script> již žádný jiný element nepatří. Tudíž ten tvůj zápis je chybný.
Proč to dělat složitě, když to jde i jednoduše.
Stačí, když do souboru data.php vložíš hrubá data:
0.8446, 0.8445, 0.8444, 0.8451, 0.8418, 0.8264
A v tom kódu jen zavoláš:
var data = [<?php echo file_get_contents('data.php'); ?>];
Toto nejde z jednoho zásadního důvodu.. a to, že nelze v javascriptu soubory do sebe vnořovat takovým způsobem, jako jsi to provedl (tzn. html kód <script type="text/javascript" src="data .php"></script> uvnivtř javascriptového kódu).
Může to být buďto takto:
<script type="text/javascript">
var data = [<?php echo file_get_contents('zdrojova_data.txt'); ?>];
</script>
Nebo takto:
-- soubor data.php (mimochodem, žádný kousek php kódu)
var data = [0.8446, 0.8445, 0.8444, 0.8451, 0.8418, 0.8264];
-- soubor, který zobrazuje (načte ona data z druhého souboru)
<script type="text/javascript" src="data .php"></ script>
<script type="text/javascript">
if(data)
{
alert("Loaded!");
}
</script>