elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación General / Borrar Logo de frame una vez cargado. en: 21 Mayo 2014, 21:51 pm
Muy buenas a todos, soy Matias y "intentando" programar en Java al mismo tiempo que intento aprender.

Tengo una consulta que no podría hacerla en ningún otro foro sin que me critiquen o me manden a cag**, por lo tanto me tomo el atrevimiento de preguntarles a ustedes a ver si me pueden dar una mano.

Desde ya, muchas gracias a todos por su tiempo.




Lo que pretendo hacer (que todavía estoy dudando si es posible), es cambiar un div de un script una vez cargado.

Para que se entienda bien:

- Tengo una página HTML, con un script externo (dejo el código más abajo).

- Una vez se carga el script, lógicamente se carga con el logo del propietario del script, cosa que me parece perfecto, pero para mis propósitos esto no me sirve.

- Lo que debería hacer es, esperar a que cargue el script, una vez cargó modificar el div que contiene el logo y eliminarlo.

 


El script que contiene el logo es el siguiente:
Código
  1. <script type="text/javascript" src="https://d33t3vvu2t2yu5.cloudfront.net/tv.js"></script>
  2. <script type="text/javascript">
  3. new TradingView.widget({
  4.  "width": 998,
  5.  "height": 610,
  6.  "symbol": "FX:SPX500",
  7.  "interval": "D",
  8.  "timezone": "exchange",
  9.  "theme": "White",
  10.  "toolbar_bg": "#f1f3f6",
  11.  "allow_symbol_change": true,
  12.  "hideideas": true
  13.  
  14. });</script>


El código con el que pretendo modificar el div:
Código
  1.  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  2.    <script>
  3. $(window).load(function() {
  4.    var title = 'Esto debería remplazar">';
  5.    $('.wrapper').html(title);
  6. });
  7.  
  8. </script>  


Pueden testearlo/verlo en http://jsbin.com/hulawaqa/1/edit?html,js,output



La pregunta del millón ¿Porque no funciona!? o ¿ Que estoy haciendo mal?



Como datos opcionales, la fuente HTML del script una vez cargado contiene el siguiente código que es el que se encarga de crear el logo dentro del gráfico.
Código
  1. var createLogo = function() {};
  2.  
  3. if (urlParams.logo) {
  4.  
  5. createLogo = function () {
  6. $('.onchart-custom-logo').remove();
  7.  
  8. var filename = (/\.png$/.test(urlParams.logo))
  9. ? urlParams.logo
  10. : urlParams.logo + '.png'
  11. ;
  12. var $logo = $(
  13. '<a href="https://www.tradingview.com/" class="onchart-tv-logo" target="_blank">' +
  14. '<img src="/static/images/widget-logo/' + filename + '" class="custom-image">' +
  15. '</a>'
  16. ).appendTo('.chart-widget');
  17.  
  18. var $img = $logo.find('img');
  19.  
  20. var additionLogoParams = ['left','bottom','width','height'];
  21. for (var i = additionLogoParams.length - 1; i >= 0; i--) {
  22. var param =  additionLogoParams[i];
  23. var paramWithPrefix = 'logo_' + param;
  24. if (urlParams[paramWithPrefix]) {
  25. if (param === 'left' || param === 'bottom') {
  26. $logo.css(param, urlParams[paramWithPrefix]);
  27. } else {
  28. $img.css(param, urlParams[paramWithPrefix]);
  29. }
  30. }
  31. };
  32. }
  33.  
  34. } else {
  35.  
  36. createLogo = function () {
  37. $('.onchart-tv-logo').remove();
  38. var colorClass = urlParams.theme ? urlParams.theme.toLowerCase() : ''; // black, white, blue, grey
  39. var $logo = $('<div class="onchart-tv-logo wrapper ' + colorClass + '">'+
  40. '<div class="wrapper">'+
  41. '<a class="inner" href="https://www.tradingview.com/" target="_blank">'+
  42. '<img class="solid" src="/static/images/logo-widget-copyright.png" alt="TradingView Logo">'+
  43. '<img class="faded" src="/static/images/logo-widget-copyright-faded.png" alt="TradingView Logo">'+
  44. '<span class="text">'+
  45. 'charts&nbsp;by&nbsp;'+
  46. '<span class="logo-highlighted">TradingView</span>'+
  47. '</span>'+
  48. '</a>'+
  49. '</div>'+
  50. '</div>')
  51. .on('mouseenter', function() { $(this).addClass('expanded')    })
  52. .on('mouseleave', function() { $(this).removeClass('expanded') })
  53. .appendTo('.chart-widget');
  54. ;
  55.  
  56. function showAndHideLogo(data) {
  57. if (data.method == 'series_completed') {
  58. mainSeries.onDataLoaded().unsubscribe(this, showAndHideLogo);
  59. setTimeout(function() {
  60. $('.onchart-tv-logo').addClass('expanded');
  61. }, 0.5 * 1000);
  62. setTimeout(function() {
  63. var $logo = $('.onchart-tv-logo');
  64. if ($logo.is(':not(:hover)')) {
  65. $logo.removeClass('expanded');
  66. }
  67. }, 20 * 1000);
  68. }
  69. }
  70.  
  71. mainSeries.onDataLoaded().subscribe(this, showAndHideLogo);
  72. };
  73.  
  74. }
  75.  
  76. chartWidget.withModel(null, createLogo);
  77.  
  78.  
  79.  
  80.  
  81. });

También aunque parezca est*pido intente guardar la página completa del gráfico base y modificar el script que crea el logo, funcionó aunque solo en localhost. Cuando lo subí al servidor, me da un error 502 de WebSocket (Creo que se debe a que no tengo la autorización para acceder a los datos del gráfico).

Alguna idea de como puedo modificarlo?

Nuevamente les agradezco por el tiempo que se tomaron en llegar hasta aca y si me pudieran dar una mano orientándome como resolver mi problema sin "juzgarme".

Un saludo!

 
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines