Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - genericobro

#1
Si, no quiero que me haga esos cambios porque tengo un if que compara lo que hay en la capa con lo que tengo en un archivo XML. Al cambiármelo no tiene sentido el if, es decir, siempre se cumple el if...
#2
Si le doy a ver código fuente no puedo ver directamente el código del DIV en cuestión, ya que estoy metiendo el contenido con innerHTML dinámicamente.
Es decir, al ver el código fuente veo lo que hay inicialmente en el DIV, pero no lo que quiero meter (y lo que falla).
Un saludo, voy a hacer más pruebas a ver si encuentro alguna solución, si alguien encuentra algo que me lo diga, ¡se lo agradecería mucho!
#3
Si si, si inspecciono el código fuente o le doy a revisar con "Inspeccionar elemento", me sale ya el código cambiado. Por eso estoy tan trabajo en este punto.
Creo que se cambia automáticamente al usar innerHTML o algo así. :(
#4
Hola muy buenas a todos. Llevo un par de días trabado en el proyecto que estoy haciendo, he buscado información tanto en español como inglés pero no doy con una posible solución.

Os cuento: Tengo un DIV ('capa') donde voy cambiando el contenido con getElementById('capa').innerHTML. Funciona perfecto, pero cuando el contenido es un iframe, un código embebido o similares (<object> por ejemplo) me cambia el código, me lo reordena. Y necesito que no me lo cambie porque en la aplicación comparo lo que tengo originalmente con lo que hay actualmente en la 'capa'.

Os pongo un ejemplo de lo que hace:
Si tengo esto:
Código (html4strict) [Seleccionar]
<iframe width="400" height="200" src="https://www.youtube.com/embed/-3bKJZxBrMI" frameborder="0" allowfullscreen></iframe>

Me lo cambia por esto:
Código (html4strict) [Seleccionar]
<iframe src="https://www.youtube.com/embed/-3bKJZxBrMI" allowfullscreen="" frameborder="0" height="200" width="400"></iframe>

Como podeis ver, el width y el height están cambiados de sitio, así como el allowfullscreen al que se le ha añadido ="".
Quiero que no se cambie, que lo muestre tal cual.

El valor del DIV lo cambio con el siguiente código:
Código (javascript) [Seleccionar]
document.getElementById('capa').innerHTML = embed;
donde embed lo extraigo de un archivo XML que tengo de la siguiente forma:
Código (javascript) [Seleccionar]
var embed = anotaciones[cent].getElementsByTagName("embed")[0].childNodes[0].nodeValue;

¿Alguien me puede hechar un cable? ¡¡No sé cómo continuar!!!

Mod: Obligatorio el uso (correcto) de las etiquetas GeSHi
#5
Ohhhhh T. Collins ¡¡¡¡¡MIL MILLONES DE GRACIAS!!!!!! esa tontería era.
Estaba cegado mirando otras cosas y no me daba cuenta que el problema era ese if. Bufff te estoy eternamente agradecido.

El XML, por si te quedaste con la curiosidad contenía lo siguiente:

<rss>
    <anotacion>
        <texto>Esta es la pri anotación inicial y lleva LINK &lt;a href="http://google.com" target="_blank" rel="nofollow"&gt;http://google.com&lt;/a&gt;</texto>
<seg> 0 </seg>
<seg2>2</seg2>
<img> </img>
    </anotacion>
    <anotacion>
        <texto>Anotasion</texto>
<seg> 2 </seg>
<seg2>4</seg2>
<img><![CDATA[<img src="upload/images/arbol.jpg" width="400" height="110">]]></img>
    </anotacion>
    <anotacion>
        <texto>A partir del segundo 4 esta será la anotación y despues VIENE HUECO hasta segundo 10</texto>
<seg> 4 </seg>
<seg2>6</seg2>
<img> </img>
    </anotacion>
    <anotacion>
        <texto>Desde el segundo 10 hasta el 12 deberia aparecer este texto</texto>
<seg> 10 </seg>
<seg2>12</seg2>
<img> </img>
    </anotacion>
<anotacion>
        <texto>Esta anotación es la última y dura hasta el segundo 20 &lt;a href="http://google.com" target="_blank" rel="nofollow"&gt;http://google.com&lt;/a&gt;</texto>
<seg> 12 </seg>
<seg2>60</seg2>
<img><![CDATA[<img src="upload/images/gif.gif" width="110" height="110">]]></img>
    </anotacion>
</rss>


Es tan solo un ejemplo tonto.

Muchísimas gracias, si tengo más dudas ya se a qué foro acudir :)
Un abrazo.
#6
Muy buenas a todos, ojalá encuentre ayuda por aquí porque llevo una semana con el mismo problema. Seguro que es muy fácil de solucionar pero no doy con la tecla correcta.

A ver si consigo explicarme correctamente: Quiero mostrar un vídeo y en un DIV ir mostrando una serie de anotaciones que tengo en un archivo XML. En dicho XML tengo nodos con el texto, segundo inicial y segundo final.
El código que tengo funciona bien, muestra los datos del XML correctamente, las anotaciones en su sitio, etc... ¡Pero fallan los links!

Para que vayan saltando las anotaciones, ejecuto la función updateValues cada 0,1 segundos (con setInterval) para saber el tiempo actual del video. El problema es que si en una anotación hay un link html, no se puede hacer click sobre él correctamente, es como si se reiniciara cada 0,1 segundos.

Os dejo el código para que lo veais con detenimiento. ¡Necesito ayuda urgente! Mil gracias de antemano.

<html>
<head>
  <title>Prueba leer xml</title>
  <script type="text/javascript" src="jwplayer/jwplayer.js"></script>
  <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.js"></script>
</head>
<body>

<script type="text/javascript">




if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","upload/anotaciones/anotacionesoriginales.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;


var cent = 0;
var anotaciones=xmlDoc.getElementsByTagName("anotacion");

function updateValues() {
   
   var vid = document.getElementById("video");
var current = vid.currentTime;

   for(i=0;i<anotaciones.length;i++){ //recorremos todas las anotaciones buscando en qué lugar nos encontramos. Si current está entre seg y seg2 es que hemos encontrado donde estamos, en qué anotación
       if(current>=anotaciones[i].getElementsByTagName("seg")[0].childNodes[0].nodeValue && current<anotaciones[i].getElementsByTagName("seg2")[0].childNodes[0].nodeValue){
   cent=i;
       }
   }
   
    //ahora hacemos un if para que los elementos de la capa SOLO CAMBIEN cuando lo que hay en el xml sea diferente de lo que hay en la capa. Así la capa no se actualiza cada 0,1 segundos
if(anotaciones[cent].getElementsByTagName("texto")[0].childNodes[0].nodeValue != document.getElementById('capa').innerHTML){
    //si estamos entre seg y seg2 vamos a mostrar el comentario, sino no mostraremos nada
if(current>=anotaciones[cent].getElementsByTagName("seg")[0].childNodes[0].nodeValue && current<anotaciones[cent].getElementsByTagName("seg2")[0].childNodes[0].nodeValue){


var img = anotaciones[cent].getElementsByTagName("img")[0].childNodes[0].nodeValue; //sacamos el valor del nodo img. Si lo definimos antes javascript da error al no encontrar nada.
document.getElementById('capa').innerHTML = img + "<br>" +  anotaciones[cent].getElementsByTagName("texto")[0].childNodes[0].nodeValue;

}else{
document.getElementById('capa').innerHTML = " ";
}

}
}
</script>

<script type="text/javascript">
$(function(){

})
setInterval(function(){
$('#currentTime').html($('#video_container').find('video').get(0).currentTime); //esta linea y la de abajo se pueden quitar. Solo sirven para ver en current time en directo.
$('#totalTime').html($('#video_container').find('video').get(0).duration);   
updateValues();
},100)
</script>

<div id="capa" style="width:480px; height:135px; background-color: #CAF3F0;">
    ANOTACIONES:<br>
    </div>

<div id="capa2" style="width:480px; height:135px; background-color: #CAF3F0;">
    <a href="http://google.com">link text</a>
    </div>

<div id="video_container">
    <video height=270 width=480 preload="none" controls="" id="video" tabindex="0">
      <source type="video/mp4" src="Upload/videos/videoff.mp4" id="mp4"></source>
      <p>Your user agent does not support the HTML5 Video element.</p>
    </video>
</div>

<div>Current Time : <span  id="currentTime">0 </span></div>
<div>Total time : <span id="totalTime">0</span></div>

</body>
</html>
#7
El proyecto está en fase de borrador, por lo que no puedo decir de forma muy específica cómo quiero que sea el resultado final. Para haceros una idea, diré que se quiere utilizar para ayudar a los profesores a añadir etiquetas y anotaciones a los vídeos que hacen para enseñar a los alumnos (vídeos donde se les ve de cintura para arriba hablando y poco mas). Tiene que ser lo más simple posible para que todo tipo de profesores sepan utilizarlo.

En un principio yo tenía la idea de procesar el vídeo, es decir, hacer un programa o aplicación que diera como resultado final un vídeo con el texto ya procesado. Pero por lo que estoy viendo hacer esto es quizá bastante complejo ¿verdad? Sobre todo si tengo que descartar Matlab y meterme a muerte con C++ (no controlo demasiado de C++).

Por eso mismo me estoy planteando seriamente hacerlo tipo Youtube, con capas encima del vídeo o algo así, con php, html, etc... ¿qué opináis o qué me recomendáis? Vuestra ayuda es esencial! jaja
#8
Hola buenas, he estado buscando algún foro sobre programación y he encontrado este. He estado leyendo algunos post y he visto que hay gente por aquí que sabe muchísimo sobre estos temas, por lo que creo que es el lugar adecuado para preguntar.

Voy a empezar mi proyecto final de carrera, se trata de una aplicación que permita añadir anotaciones a los vídeos, algo parecido a lo que hace Youtube pero bastante más sencillo. El usuario podría importar su vídeo y añadir anotaciones de texto en cualquier punto, con la duración deseada, cambiar el tipo de letra, color, etc...

Mi problema es que no estoy seguro de qué lenguaje de programación utilizar, me he estado informando pero aun así no me decido por ninguno. Estoy entre: Matlab, php y C++.

Me defiendo con los 3, pero con los que más familiarizados estoy son Matlab y php.

¿Qué lenguaje de estos 3 veis mejor para realizar este proyecto? Sobre todo quiero saber con cuál sería más sencillo y viable implementarlo.

Un saludo.