Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Zmiana background-color w zależności od szukanego tekstu
Forum PHP.pl > Forum > XML, AJAX
Kargul1000
Szanowni forumowicze,

Mam problem, napisałem sobie taka prostą stronkę która pobiera kilka podstron na których mam statusy serwerów. Problem polega na tym że jeśli uzupełnie div szukanymi słowami zmienia mi kolor natomiast nie przeszukuje mi divow w których dane umiesciłem za pomocą javascript.

I teraz pytanie: Jak przeszukać te 3 pierwsze diwy tak zeby zmieniło mi kolor szukanych słów ?

  1.  
  2. <!doctype html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="refresh" content="30">
  6. #czas{
  7. color: olivedrab;
  8. font-family: monospace;
  9. font-size: 29px;
  10. text-align: center;
  11. }
  12. object{
  13. width: 100%
  14. }
  15. #r {
  16.  
  17. border-style: dotted;
  18. border-width: 2px;
  19. float: left;
  20. margin: 10px 2px 3px 10px;
  21. padding: 5px 0 0 5px;
  22. width: auto;
  23.  
  24.  
  25. background: rgba(210,255,82,1);
  26. background: -moz-linear-gradient(top, rgba(210,255,82,1) 0%, rgba(145,232,66,1) 100%);
  27. background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(210,255,82,1)), color-stop(100%, rgba(145,232,66,1)));
  28. background: -webkit-linear-gradient(top, rgba(210,255,82,1) 0%, rgba(145,232,66,1) 100%);
  29. background: -o-linear-gradient(top, rgba(210,255,82,1) 0%, rgba(145,232,66,1) 100%);
  30. background: -ms-linear-gradient(top, rgba(210,255,82,1) 0%, rgba(145,232,66,1) 100%);
  31. background: linear-gradient(to bottom, rgba(210,255,82,1) 0%, rgba(145,232,66,1) 100%);
  32. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2ff52', endColorstr='#91e842', GradientType=0 );
  33.  
  34. }
  35.  
  36. </style>
  37.  
  38. </head>
  39. <body>
  40. <div id="contener">
  41. <div id="czas"></div>
  42.  
  43. <div id="r">
  44. serwer1<hr>
  45. <div id="siteloader1"></div>
  46. </div>
  47. <div id="r">
  48. serwer2<hr>
  49. <div id="siteloader2"></div>
  50. </div>
  51. <div id="r">
  52. serwer3<hr>
  53. <div id="siteloader3"></div>
  54. </div>
  55. <div id="r">
  56. INNE<hr>
  57. <div id="log">
  58. OK
  59. Error
  60. </div>
  61. </div>
  62. </div>
  63. <script src="jquery-1.7.2.min.js"></script>
  64. // colorowanie
  65.  
  66. var lines = $('#log').text().split('\n');
  67. $('#log').empty();
  68.  
  69. $.each(lines, function () {
  70. var $this = $('<div>' + this + '</div>');
  71.  
  72. $('#log').append($this);
  73. if ($this.text().match('OK')) {
  74. $this.css('background-color', 'green');
  75. } else if ($this.text().match('Error')) {
  76. $this.css('background-color', 'red');
  77. }
  78. });
  79.  
  80. //
  81.  
  82. $("#siteloader1").html('<object data="https://server1/raport.html"></object>');
  83. $("#siteloader2").html('<object data="https://server2/raport.html"></object>');
  84. $("#siteloader3").html('<object data="https://server3/raport.html"></object>');
  85. //
  86.  
  87.  
  88. //czas
  89. var czas = new Date();
  90. var element = document.getElementById('czas');
  91. element.innerHTML = "Aktualizacja: " + czas.getHours() + ":" + czas.getMinutes() + ":"+czas.getSeconds() + "";
  92.  
  93.  
  94. </body>
  95. </html>
  96.  


Proszę o jakaś podpowiedz.
koodo218
Cytat(Kargul1000 @ 9.12.2015, 18:33:30 ) *
I teraz pytanie: Jak przeszukać te 3 pierwsze diwy tak zeby zmieniło mi kolor szukanych słów ?

Zacznij od zamknięcia elementów <object> (ten znacznik ma zamknięcie, u ciebie w kodzie go nie ma), a następnie zrób analogicznie tak jak postępujesz z #log.
Kargul1000
O fuck faktycznie biggrin.gif

Cytat(koodo218 @ 9.12.2015, 20:00:49 ) *
...a następnie zrób analogicznie tak jak postępujesz z #log.


Próbowałem postępować analogicznie jak w #log ale nie chce działać. Prubuje przeszukiwać same <object> ale nie działa.

Może trzebaby przechwycić w jakiś sposób zawartość <object> i wypisać jako czysty txt do html questionmark.gif

Jakieś podpowiedzi ?
Comandeer
Hm, czemu object, a nie iframe?

Raczej się do zawartości tak wczytanych zasobów nie dostaniesz, bo istnieje tzw. same-origin policy. Dałoby się to obejść przy pomocy Ajax + CORS.
Kargul1000
Cytat(Comandeer @ 9.12.2015, 21:17:07 ) *
Hm, czemu object, a nie iframe?

Raczej się do zawartości tak wczytanych zasobów nie dostaniesz, bo istnieje tzw. same-origin policy. Dałoby się to obejść przy pomocy Ajax + CORS.


A może jakiś przykład ? Jak coś takiego zrobić ?
Comandeer
http://enable-cors.org oczywiście jeśli nie masz dostępu do configu tamtych serwerów, to powstaje problem.
Kargul1000
NIe mam biggrin.gif

Można w jakiś sposób zapisać całą stronę za pomocą js do dajmynato pliku txt ?
Comandeer
No właśnie bez CORS nie. Musiałbyś pobierać treść strony po stronie serwera, np. w PHP przy pomocy cURL.
Kargul1000
Próbowałem .... też odpada bo połączenie jest ssl trzeba pobrać certyfikat i się zalogować a to dla mnie wyższa szkoła jazdy biggrin.gif aa i zalezy mi na tym żeby taką prostą stronkę w html-u odpalić sobie lokalnie na kompie.

Czyli nikt nie ma jakiegoś pomysłu ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.