Помогите понять что делает данный JavaScript

Discussion in 'PHP' started by ShopTest, 26 Sep 2013.

  1. ShopTest

    ShopTest New Member

    Joined:
    22 Nov 2012
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Есть один java script
    Не могу понять что он делает.
    Вот его код.

    PHP:
    $(function() {

    //pars url  
    var content getUrlVars()["content"];

    if (
    content) {
        $(
    "#featured-products_block_center h1").html(content);
    }
     

    function 
    getUrlVars() {
        var 
    vars = {};
        var 
    parts window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
            
    vars[key] = decodeURIComponent(value);
        });
        return 
    vars;
    }

    });
     
  2. Prosta4ok

    Prosta4ok New Member

    Joined:
    25 Oct 2012
    Messages:
    61
    Likes Received:
    0
    Reputations:
    0
    меняет содержимое "#featured-products_block_center h1"
     
  3. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    XSS detected
     
    1 person likes this.
  4. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Дополнение к 2 посту, эти данные берутся из адресной строки content=asd
     
  5. ShopTest

    ShopTest New Member

    Joined:
    22 Nov 2012
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    По задумке, вроде так.
    Но ничего не происходит.
    Вот html код участка который должен менятся
    JavaScript подключен в коде.

    Адресная строка выглядит следующим образом
    site/cat.php?ids=4701

    Пробовал дописывать site/cat.php?ids=4701&content=test

    Ничего не происходит.
    Где ошибка?
     
  6. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Отдебажь его. Открой консоль в хроме. Наставь везде в скрипте вызовов console.log. И посмотри что лежит в переменных и тд. В результате починишь.

    Вангую ошибка в регулярке. Лень разбираться.
     
  7. ShopTest

    ShopTest New Member

    Joined:
    22 Nov 2012
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    К сожалению в ближайшее время я просто не смогу ничего сделать, по этому прошу любой помощи на форуме =)
     
  8. wx0

    wx0 New Member

    Joined:
    2 Oct 2013
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Там jQuery, возможно библиотеки не подключены, накинул пример скрипт быстренько. От XSS правда не избавлял.

    site.com?content=test

    HTML:
    <html>
    	<head>
    		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
    	</head>
    	<body>
    
    		<div id="featured-products_block_center">
    			<h1 style="border-bottom: 1px solid #E0DFDF;
    			color: #343434;
    			margin: 0 0 20px -20px;
    			padding: 5px 20px;
    			text-transform: uppercase;
    			width: 668px;">Карты памяти
    			</h1>
    		</div>
    
    		<script>
    			$(function() {
    
    			//pars url  
    			var content = getUrlVars()["content"];
    
    			if (content) {
    				$("#featured-products_block_center h1").html(content);
    			}
    			 
    			function getUrlVars() {
    				var vars = {};
    				var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
    					vars[key] = decodeURIComponent(value);
    				});
    				return vars;
    			}
    
    			});  
    		</script>
    	</body>
    </html>