0
我對彈出窗口(客戶端請求)有以下代碼。它使用我認爲是危險的eval。有沒有辦法重寫下面的腳本,所以它不使用(評估)?EVAL危險如何替換它
/* exported popup_default , popup_help , popup_sitemap , popup_footerlinks */
var matchClass = ['popup_default', 'popup_sitemap', 'popup_footerlinks', 'popup_help'];
var newwindow = ''
var popup_default = 'width=800,height=640,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=250,top=200';
var popup_help = 'width=700,height=650,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=100,top=100';
var popup_sitemap = 'width=1000,height=600,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=100,top=100';
var popup_footerlinks = 'width=800,height=500,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=250,top=200';
function pop_ups() {
"use strict";
var x = 0;
var popClass;
while (x < matchClass.length) {
popClass = "'." + matchClass[x] + "'";
$(eval(popClass)).click(function() {
var popurl = $(this).attr('href');
var popupSpecs = $(this).attr('class');
var popupName = Math.floor(Math.random() * 10000001);
newwindow = window.open(popurl, popupName, eval(popupSpecs));
return false;
});
x++;
}
}
$(function() {
"use strict";
pop_ups();
});
調用'eval'之前'popupSpecs'中的內容。 –
不應該有一個簡單的'$('。'+ matchClass [x])'嗎?爲什麼你首先使用'eval'? – Bergi
使用'eval'不是必需的,但它並不危險。 – nnnnnn