Publicidade

marfegte

codigo javascript gerador de lista xml

Patrocínio:

eu tenho um codigo pra gera lista em xml
nao to conseguindo salva o codigo gerado no servidor e deixar ele gravado na tabela no site para editor

https://codepen.io/marfegte/pen/mWXzBG


index.html

<?xml version="1.0" encoding="utf-8"?>
<!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="pragma" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Gerador lista xml</title>
<link rel="stylesheet" type="text/css" media="all" href="generator.css" />
<script src="codigo.js" type="text/javascript"></script>
</head>
<body onload="init()">

		
		<h1><a href="http://playlist-generator.com/"></a>IPTV Gerador Lista xml</h1>
		<noscript><p id="no_javascript">IPTV Gerador Lista xml usado JavaScript</p></noscript>
		<form id="playlistform" action="" onsubmit="return false;">
			<table>
				<thead>
					<tr>
						<th>Titulo</th>
						<th>Link</th>
						<th>Thumbnail</th>
						<th>Fanart</th>
						<th>Info</th>
						
						<th><span class="desc" title="duration (in milliseconds)">Opção</span></th>
					</tr>
				</thead>
				<tbody id="playlist"></tbody>
			</table>
		</form>
		
		<p style="margin-top: 3em;">playlist.xml</p>

		<pre id="playlistcode"></pre>

</body>
</html>

codigo.js

var TYPE_TITLE = 0;
var TYPE_LINK = 1;
var TYPE_THUMBNAIL = 2;
var TYPE_FANART = 3;
var TYPE_INFO = 4;
var COUNT_COLUMNS = 6;

function htmlentities(str) {
	str = str.replace(/&/g, "&amp;");
	str = str.replace(/"/g, "&quot;");
	str = str.replace(/</g, "&lt;");
	str = str.replace(/>/g, "&gt;");
	return str;
}
function nl2br(str) {
	str = str.replace(/\n/g, "<br/>");
	return str;
}
function update() {
	var playlist = document.getElementById("playlist");
	var rows = playlist.getElementsByTagName("tr");	
	var code = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
	code += "  \n";	
	for (var index = 0; index < rows.length; index++) {
		var inputFields = rows[index].getElementsByTagName("input");		
		code += "    <item>\n";		
		for (var j = 0; j < inputFields.length; j++) {			
			var type = "";
			var value = inputFields[j].value;			
			switch (j) {
			case TYPE_TITLE:
				type = "title";
				break;
			case TYPE_LINK:
				type = "link";
				break;
			case TYPE_THUMBNAIL:
				type = "thumbnail";
				break;
			case TYPE_FANART:
				type = "fanart";
				break;
			case TYPE_INFO:
				type = "info";
				break;
			
			}
			
			if (type == "link" || value != "") {
				code += "      <" + type + ">" + htmlentities(value) + "</" + type + ">\n";
			}
			
		}		
		code += "    </item>\n";
		code += "    \n";
	}	
	document.getElementById("playlistcode").innerHTML = nl2br(htmlentities(code));
}

function updateTable() {
	$("#results").html('')
 
	
	var playlist = document.getElementById("playlist");
	var rows = playlist.getElementsByTagName("tr");	
	for (var index = 0; index < rows.length; index++) {
		var row = rows[index];
		var cols = row.getElementsByTagName("td");	
		var content = "<a href=\"#\" title=\"adicionar um novo\" onclick=\"addTrack(" + (index + 1) + "); return false;\">Adicionar</a> <a href=\"#\" title=\"remove this track\" onclick=\"removeTrack(" + index + "); return false;\">Apagar</a>";
		cols[cols.length - 1].innerHTML = content;
	}
}
function addTrack(index) {
	var playlist = document.getElementById("playlist");
	var rows = playlist.getElementsByTagName("tr");	
	var newRow = document.createElement("tr");
	for (var i = 0; i < COUNT_COLUMNS; i++) {
		var newColumn = document.createElement("td");		
		if (i < COUNT_COLUMNS - 1) {
			
			var inputField = document.createElement("input");
			inputField.setAttribute("type", "text");
			inputField.onchange = update;
			inputField.onkeyup = update;
			newColumn.appendChild(inputField);
		} else {			
			newColumn.setAttribute("class", "options");
		}		
		newRow.appendChild(newColumn);
	}
	
	if (index == rows.length) {
		playlist.appendChild(newRow);
	} else {
		playlist.insertBefore(newRow, rows[index]);
	}	
	updateTable();
	update();
}
function removeTrack(index) {
	var playlist = document.getElementById("playlist");
	var rows = playlist.getElementsByTagName("tr");
	
	if (rows.length > 1 && window.confirm("Tem certeza que deseja apagar?")) {
		playlist.removeChild(rows[index]);		
		updateTable();
		update();
	}
}

function init() {
	addTrack(0);
	document.getElementById("playlist").getElementsByTagName("tr")[0].getElementsByTagName("input")[0].value = "";
	update();
}

generator.css

body, td {
	font-family: Verdana, Arial, sans-serif;
	font-size: 10pt;
}

a {
	color: #0000ff;
}

a:hover {
	color: #6666ff;
}

#no_javascript {
	background-color: #cc0000;
	color: #ffffff;
	padding: 0.5em;
	border: 2px dashed #000000;
}

h1 {
	font-size: 150%;
	font-weight: bold;
}

h2 {
	margin-top: 1em;
	font-size: 120%;
	font-weight: bold;
}

table {
	width: 100%;
	margin-top: 1em;
}

th {
	font-size: 100%;
	font-weight: bold;
	text-align: center;
	background-color: #ccccff;
	padding: 0.1em 0.3em 0.1em 0.3em;
	border: 1px solid #aaaaff;
}

td {
	padding: 0;
	text-align: center;
	border: 1px solid #660000;
}

td input {
	width: 100%;
	height: 100%;
	border: 0;
	background-color: #ffffff;
}

td input:hover {
	background-color: #eeeeff;
}

td input:focus {
	background-color: #ddddff;
}

#playlistcode {
	background-color: #ccccff;
	padding: 0.3em;
	border: 1px solid #aaaaff;
	font-size: 10pt;
	font-family: "Courier New",Verdana,sans-serif;
}

.desc {
	border-bottom: 
}

.options {
	white-space: nowrap;
	background-color: #ccccff;
	padding: 0.3em;
	font-weight: bold;
	border: 1px solid #aaaaff;
	font-size: 10pt;
	text-align: center;
	font-family: "Verdana,sans-serif;
	
}

 

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

No console do navegador está dando alguma mensagem de erro?

Ou o erro está no envio para o servidor?

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Próximos Eventos

  • Conteúdo Similar

    • Por keven1406
      Como mostrar um código javaScript na página de forma correta? Quero fazer um artigo em HTML5 e nele exemplificar um código aleatório que não faz parte do código da página. No entanto, se eu digitar o código e depois tentar identar ele com HTML5, não consigo ter um bom resultado. O <br> não funciona e o código fica parecendo apenas em uma unica linha. <p> também não funciona. Tem alguma forma de digitar o código sem que a página o considere um código? Um exemplo: <!DOCTYPE html> <html lang = "pt-br"> <head> <title>Inserir código</title> <meta charset = "UTF-8"> <style> p { color: white; } #caixa-codigo { width:300px; height: 300px; background-color: aqua; margin-left: auto; margin-bottom: auto; } </style> </head> <script> </script> <body> <h1>Inserir o código de exemplo a baixo:</h1> <p> for (var i = 2; i< 10; i++) <br/> console.log("i") <br/> </p> </body> </html>  
      Outra pergunta: Qual melhor plugin Wordpress para fazer esse tipo de coisa? Já pesquisei bastante sobre isso e as pessoas falam nomes de plugins, mas quando procuro lá no Wordpress o plugin, fica como não encontrado.

      Estava com duvida se era pra colocar essa pergunta no fórum de JavaScript, WordPress ou nesse aqui, me desculpem se coloquei no lugar errado. Desde já, obrigado!
    • Por Álef Henrique
      Olá! Estou com um pequeno problema, é o seguinte, quando tento colocar uma data abaixo do dia 20 na seguinte função abaixo (Parte em NEGRITO) ela não funciona. 

      O back-end anterior fez da seguinte forma:
      (Dexei um arquivo com o código todo em anexo.)
      function getTimeRemaining(endtime){   var t = Date.parse(endtime) - Date.parse(new Date());   return {     'total': t,     'days': Math.floor( t / (1000 * 60 * 60 * 24) ),     'hours': Math.floor( (t / (1000 * 60 * 60) ) % 24 ),     'minutes': Math.floor( (t / 1000 / 60) % 60 )   }; } // City Selector     $(function () {       var events_informations = {         'belo-horizonte': {           'title': 'Belo Horizonte',           'date': '08/07/2017',           'place': 'Dayrell Hotel - a partir das 8:00',           'imagePath': 'img/cities/bh/belo-horizonte-2.jpg',           'btnBuyNow': 'https://www.sympla.com.br/',           'btnDestinePage': '/belo-horizonte',           'mapPlace': {lat: -19.9226186, lng: -43.9401089},           'datetime': 'June 20 2017 8:30:00 GMT-03:00'         }       }; function getNextDestines(events_informations) {   var nextDestines = [];   var keys = Object.keys(events_informations);   for (var i = 0; i < keys.length; i++) {     var today = new Date();     var date = new Date(events_informations[keys]['datetime']);     if (date.getTime() > today.getTime() && date.getDate() > today.getDate()) {       nextDestines = [events_informations[keys], events_informations[keys[i+1]], events_informations[keys[i+2]], events_informations[keys[i+3]]];       break;     }   }   return nextDestines; }; Será que vocês podem me ajudar nessa?
      Muito obrigado!
      main.js
    • Por 7master
      Galera tenho um Form e estou pegando os dados via POST, porem quando tenho mais de 97 inputs ele não traz todos no POST, para os 97. 
      Alguém pode me ajudar. 
       
      Código do Formulário:
      Código

      Resultado Var_dump 
      Código
    • Por RogerTi
      Fala galera blz, estou precisando de um plugin para previsão do tempo, dei uma vasculhada no sr,Google e encontrei alguns mas nada satisfatório, alguém conhece um plugin bacana para previsão do tempo? Plugin capaz de satisfazer o usuário que entre no site a localizar sua própria região ou qualquer outra e pesquisar o tempo nos próximos dias, e dias atuais.
       
      print de como o que achei é
       
      => http://prnt.sc/f03ao4
       
      Código para alguém que queira usar, não encontrei no site onde peguei o script formas de como alterar a cidade, localizei onde é passado a cidade, mas não encontrei uma forma correta de configurar para exibir uma outra
       
      <!--Weather Forecast courtesy of www.tititudorancea.com.br--> <style> .WFOT1 {border:2px solid #E1E1E1; background-color:#F1F1F1; padding:10px} .WFH1 {font:bold 14px Arial, sans-serif; margin-bottom:6px} TABLE.WFOT TD {vertical-align:top} .FCOVTMP {font:14px Arial, sans-serif; line-height:16px; padding-bottom:4px} .FCOVEXP {font:12px Arial, sans-serif; line-height:14px; text-align:center} .WFI {background-color:#3399FF;padding:0} .WTL {color:blue;font-weight:bold} .WTH {color:red;float:right;font-weight:bold} .WFLK {font-size:11px;color:#900;text-decoration:none} .WFDAY {font-size:12px;text-align:center;font-weight:bold} </style> <div style="position:relative;background-color:#FFFFFF"> <div id="wf_div"></div> <script type="text/javascript" src="http://tools.tititudorancea.com/weather_forecast.js?place=rio_de_janeiro_aeroporto&amp;s=1&amp;days=7&amp;utf8=no&amp;columns=7&amp;lang=pt"></script> <div style="font:10px Arial, sans-serif;color:#000000" align="right"><a href="http://www.tititudorancea.com.br/z/tempo_pt.htm">Previsão do tempo</a> fornecido por <a href="http://www.tititudorancea.com.br/">tititudorancea.com.br</a></div> </div> <!--end of Weather Forecast-->  
    • Por Iskandar
      Boa tarde comunidade iMaster,
       
      Brinco com JS e jQuery já há algum tempo e recentemente desenvolvi um plugin validador de formulários bem prático, e gostaria de pedir que alguém com experiencia e conhecimento nessas linguagens e com algúm tempo livre o testasse e avaliasse, tanto na prática quanto no código mesmo. Se possível, por favor, deixe um feedback com sugestões, apontando erros e melhores práticas.
       
      git: https://gist.github.com/Uunknownn/a4af5e57dd31952229473783d9789ed3
      demo (JSFiddle): https://jsfiddle.net/2zjypzj6/10/
       
      nota: o plugin está em inglês porque eu pretendo futuramente criar um rpg de navegador, mas pode ser facilmente traduzido.
       
      Muito obrigado desde já.
      --