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 - Tonics

#1
Estoy intentado pasar este codigo a la ultima version de socket.io y no lo consigo.
Este es el codigo y marco los errores que me da:




Código (java) [Seleccionar]

// https://www.webrtc-experiment.com/

var fs = require('fs');

// don't forget to use your own keys!
var options = {
   // key: fs.readFileSync('fake-keys/privatekey.pem'),
   // cert: fs.readFileSync('fake-keys/certificate.pem')
   key: fs.readFileSync('C:/Users/TONI1/Desktop/WebRTC-Experiment-master/socketio-over-nodejs/fake-keys/privatekey.pem'),
   cert: fs.readFileSync('C:/Users/TONI1/Desktop/WebRTC-Experiment-master/socketio-over-nodejs/fake-keys/certificate.pem')
};

// HTTPs server
var app = require('https').createServer(options, function(request, response) {
   response.writeHead(200, {
       'Content-Type': 'text/html'
   });
   var link = 'https://github.com/muaz-khan/WebRTC-Experiment/tree/master/socketio-over-nodejs';
   response.write('<title>socketio-over-nodejs</title><h1><a href="'+ link + '">socketio-over-nodejs</a></h1><pre>var socket = io.connect("https://webrtcweb.com:9559/");</pre>');
   response.end();
});


// socket.io goes below

var io = require('socket.io').listen(app, {     <-------------------- ERROR 1
   log: true,
   origins: '*:*'
});

io.set('transports', [            <--------------------------------ERROR 2
   // 'websocket',
   'xhr-polling',
   'jsonp-polling'
]);

var channels = {};

io.sockets.on('connection', function (socket) {
   var initiatorChannel = '';
   if (!io.isConnected) {
       io.isConnected = true;
   }

   socket.on('new-channel', function (data) {
       if (!channels[data.channel]) {
           initiatorChannel = data.channel;
       }

       channels[data.channel] = data.channel;
       onNewNamespace(data.channel, data.sender);
   });

   socket.on('presence', function (channel) {
       var isChannelPresent = !! channels[channel];
       socket.emit('presence', isChannelPresent);
   });

   socket.on('disconnect', function (channel) {
       if (initiatorChannel) {
           delete channels[initiatorChannel];
       }
   });
});

function onNewNamespace(channel, sender) {
   io.of('/' + channel).on('connection', function (socket) {
       var username;
       if (io.isConnected) {
           io.isConnected = false;
           socket.emit('connect', true);
       }

       socket.on('message', function (data) {
           if (data.sender == sender) {
               if(!username) username = data.data.sender;
               
               socket.broadcast.emit('message', data.data);
           }
       });
       
       socket.on('disconnect', function() {
           if(username) {
               socket.broadcast.emit('user-left', username);
               username = null;
           }
       });
   });
}

// run app

app.listen(process.env.PORT || 9559);

process.on('unhandledRejection', (reason, promise) => {
 process.exit(1);
});

console.log('Please open SSL URL: https://localhost:'+(process.env.PORT || 9559)+'/');
#2
Exacto.

En tapermonkey funciona perfecto... pero necesito hacerlo en greasemonkey.

No consigo acceder al segundo iframe




var button = document.createElement('button');
button.innerHTML = 'Do Something';

var body = document.getElementsByTagName('body')[0];
body.appendChild(button);

button.addEventListener ('click', function() {
 
 
 
 contentWindow
 
var iframe = document.getElementsByTagName('iframe')[0];

var iframe2 = iframe.contentWindow.getElementsByTagName('iframe')[0];
 
     
alert(iframe2);

});


Me podrias poner un ejemplo de acceso a un embed?


#3
No entiendo eso de targetear el iframe...
Me puedes dar mas informacion para buscar en mi amigo google?
#4
Nada. no encuentra el nodo.

Use tu ejemplo adaptandolo y no encuentra el id.

Esta es la url que intento automatizar:


https://vercanalestv1.com/ver-tve-1-la-1-online-en-directo-gratis-24h-por-internet/



// ==UserScript==
// @name         ScriptDePrueba
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Script de prueba
// @author       unsigned
// @match        https://vercanalestv1.com/ver-tve-1-la-1-online-en-directo-gratis-24h-por-internet/
// @grant        none
// ==/UserScript==

function gm_main(){
   // 1. Create the button
   var button = document.createElement("button");
   button.innerHTML = "Do Something";

   // 2. Append somewhere
   var body = document.getElementsByTagName("body")[0];
   body.appendChild(button);

   // 3. Add event handler
   button.addEventListener ("click", function() {

   alert(`Hola ${document.querySelector(".headerbar").innerHTML}`); // HEADERBAR ES LA CLASE DEL DIV


});
}

(function() {
    'use strict';

    window.onload = gm_main();

})();
#5
Estoy creando un boton para asegurarme que esta la pagina cargada.
Espero a que cargue por completo y luego presiono el boton, pero no encuentra el id



// 1. Create the button
var button = document.createElement("button");
button.innerHTML = "Do Something";

// 2. Append somewhere
var body = document.getElementsByTagName("body")[0];
body.appendChild(button);

// 3. Add event handler
button.addEventListener ("click", function() {
 
alert(document.getElementById("interContainer").innerHTML);


});



Tambien probe esto y nada :

  alert(document.getElementById("interContainer").children.length);
#6
Buenas a todos.

Estoy intentando automatizar una pagina con greasemonkey, en la cual tengo que hacer un click.

Intendo obtener el div con getelementbyid() pero no lo encuentra y al mirar el inspector de codigo de firefox si esta el id.

Este es el codigo de la pagina que aparece en el inspector de codigo:



<div id="interContainer" style="left: 0px; top: 174px; visibility: visible;">

<div class="headerbar">

<a href="#" onclick="javascript:interstitialBox.closeit(); return false">

<img src="/pop/closeit.gif" style="border: 0" title="Close Box"></a>

</div>

</div>


Cualquier ayuda vendra bien
#7
Encontre la solucion.

Los exploradores no confian en http, tiene que ser en https
#8

Este codigo me funciona en localhost, pero cuando intento entrar desde otro ordenador no funciona, no pide acceso a la camara. Aver si me podeis ayudar

El codigo pide acceso a la cam para luego enviar los frames por socket








<title>Streamer</title>

</head>

<body>



   holaaa

   <video autoplay></video>





   <script>

       // get video dom element

       const video = document.querySelector('video');



       // request access to webcam

       navigator.mediaDevices.getUserMedia({video: {width: 426, height: 240}}).then((stream) => video.srcObject = stream);



       // returns a frame encoded in base64

       const getFrame = () => {

           const canvas = document.createElement('canvas');

           canvas.width = video.videoWidth;

           canvas.height = video.videoHeight;

           canvas.getContext('2d').drawImage(video, 0, 0);

           const data = canvas.toDataURL('image/png');

           return data;

       }

       const WS_URL = "ws://192.168.0.112:3000";

       const FPS = 3;

       const ws = new WebSocket(WS_URL);

       ws.onopen = () => {

           console.log(`Connected to ${WS_URL}`);

           setInterval(() => {

               //ws.send(getFrame());

           }, 1000 / FPS);

       }

   </script>

</body>

</html>
#9
e leído que websocket de HTML5 es el sustituto de comet.
Que me decís?
#10
Muchas gracias por la informacion.
Ya estoy viendo codigos sobre chats ajax/php...
Aver si me aclaro un poco.