2017-03-05 3 views
0

Ich habe einige Javascript-Code, liest ein veröffentlichtes Google Sheet und liest es auf der Webseite. Aus irgendeinem Grund, wenn man dieses int Weebly einbettet, will es es einfach nicht nehmen. Soweit ich es beurteilen kann, werden überhaupt keine Elemente erzeugt. Hier ist mein Code, jede Hilfe ist großartig.Hinzufügen von Elementen zu Weebly über JavaScript funktioniert nicht

<!DOCTYPE html><!doctype html> 
<html> 
<head> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 
var spData = null; 
function doData(json) { 
    spData = json.feed.entry; 
} 
function readData(parent) { 
    var data = spData; 
    var ScoreObjs = []; 
    var ScoreObj = new Object(); 
    for(var r=4; r < data.length; r++) { 
     var cell = data[r]["gs$cell"]; 
     var val = cell["$t"]; 
     console.log(val); 
     if (cell.col == 1) { 
      ScoreObj.team1 = val; 
     } 
     else if (cell.col == 2) { 
      ScoreObj.team2 = val; 
     } 
     else if (cell.col == 3) { 
      ScoreObj.score1 = val; 
     } 
     else if (cell.col == 4) { 
      ScoreObj.score2 = val; 

      ScoreObjs.push(ScoreObj); 
      ScoreObj = new Object(); 
     } 
    } 
    toFormat(ScoreObjs); 
} 
function toFormat(obj) { 
    for (var x = 0; x < obj.length; x++) 
    { 
     var data = obj[x]; 
     var team1 = data.team1; 
     var team2 = data.team2; 
     var score1 = data.score1.toString(); 
     var score2 = data.score2.toString(); 

     var child1 = document.createElement("div"); 
     child1.className = "paragraph"; 
     document.body.appendChild(child1); 
     var child2 = document.createElement("strong"); 
     child1.appendChild(child2); 
     var child3 = document.createElement("font"); 
     child3.color = "#FFFFFF"; 
     child3.innerHTML = team1 + " vs " + team2 + "<br />ESEA Scrim"; 
     child2.appendChild(child3); 

     var child4 = document.createElement("font"); 
     child4.color = "#00FF00"; 
     child4.innerHTML = score1 + ":" + score2; 
     child1.appendChild(child4); 
    } 
} 
$(document).ready(function(){ 
    readData($("#data")); 
}); 

</script> 
<script src="https://spreadsheets.google.com/feeds/cells/1BSsomIQwFhifrFB8ybQ6xF0t-KdJNKtCBHotY3X8O98/1/public/values?alt=json-in-script&callback=doData"></script> 
</head> 
</html> 

Antwort

1

Wechsel:

<script 
src="https://spreadsheets.google.com/feeds/cells/1BSsomIQwFhifrFB8ybQ6xF0t-KdJNKtCBHotY3X8O98/1/public/values?alt=json-in-script&callback=doData"></script> 

An:

<script id="data" 
src="https://spreadsheets.google.com/feeds/cells/1BSsomIQwFhifrFB8ybQ6xF0t-KdJNKtCBHotY3X8O98/1/public/values?alt=json-in-script&callback=doData"></script> 
0

Dies könnte, weil der JavaScript-Code läuft zuerst und macht einige Probleme. Ich hatte das gleiche Problem.

Fügen Sie Skript-Tags in die Fußzeile und nicht in den Kopfbereich ein. In der Tat finden Sie Standard-Weebly-Skript-Tags unter der Fußzeile. Fügen Sie dazu Ihren benutzerdefinierten JavaScript-Code hinzu.

OR (empfohlen) erstellen Javascript (js) Datei extern es Assets in weebly Theme Editor laden und es dann auf Ihre HTML-Header-Datei hinzufügen, zusammen mit anderen Standard-weebly Script-Tags.

z. eine JavaScript-Datei namens editsite.js wird wie folgt hinzugefügt werden (nach dem Hochladen von Ressourcen):

<script type="text/javascript" src="/files/theme/editsite.js"></script> 
 
\t

Verwandte Themen