|
DO NOT repost the same question!
You have already posted this question twice in QA and once in this forum. The first QA post even has an accepted answer.
Reposting the same question will not make the unpaid volunteers who help out on this site more likely to answer it. If anything, it will encourage us to ignore your question.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I am using kendoui un MVC.
Datepicker has watermark, if date is blank val()='' works fine in FF and Chrome but not in IE11.
In IE11 it shows the watermark value
any suggestion how to overcome this issue?
|
|
|
|
|
I can't see any watermark in IE11 - can you show your code?
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
it was something like this
var fromDate = $("#start").val().trim();
now i am using regex and it is working fine
fromDate.match(/^([1-9]|1[012])[- /.]([1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$/))
|
|
|
|
|
What does following script do:
(function() { var b=window,f="chrome",g="jstiming",k="tick";(function(){function d(a){this.t={};this.tick=function(a,d,c){var e=void 0!=c?c:(new Date).getTime();this.t[a]=[e,d];if(void 0==c)try{b.console.timeStamp("CSI/"+a)}catch(h){}};this[k]("start",null,a)}var a;b.performance&&(a=b.performance.timing);var n=a?new d(a.responseStart):new d;b.jstiming={Timer:d,load:n};if(a){var c=a.navigationStart,h=a.responseStart;0<c&&h>=c&&(b[g].srt=h-c)}if(a){var e=b[g].load;0<c&&h>=c&&(e[k]("_wtsrt",void 0,c),e[k]("wtsrt_","_wtsrt",h),e[k]("tbsd_","wtsrt_"))}try{a=null,
b[f]&&b[f].csi&&(a=Math.floor(b[f].csi().pageT),e&&0<c&&(e[k]("_tbnd",void 0,b[f].csi().startE),e[k]("tbnd_","_tbnd",c))),null==a&&b.gtbExternal&&(a=b.gtbExternal.pageT()),null==a&&b.external&&(a=b.external.pageT,e&&0<c&&(e[k]("_tbnd",void 0,b.external.startE),e[k]("tbnd_","_tbnd",c))),a&&(b[g].pt=a)}catch(p){}})();b.tickAboveFold=function(d){var a=0;if(d.offsetParent){do a+=d.offsetTop;while(d=d.offsetParent)}d=a;750>=d&&b[g].load[k]("aft")};var l=!1;function m(){l||(l=!0,b[g].load[k]("firstScrollTime"))}b.addEventListener?b.addEventListener("scroll",m,!1):b.attachEvent("onscroll",m);
})();
I found it embedded in a page which looks harmless...
[Edit]I guess it is the same type of hack which I experienced 1.5 years agon on my web site, but the hacker added some more obfuscation now. See Analysing an obfuscated malware script[^].[/Edit]
modified 24-Feb-14 4:24am.
|
|
|
|
|
It's not obfuscated, but minified and it looks like a timing function, based on Google's library...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
Thanks for your analysis. I hardly ever use JavaScript, so I rely mainly on context and experience. "minify" and "obfuscate" cause the same impression...
|
|
|
|
|
minifying is just to decrease the size of the script and thus decreasing the time needed for loading it from the server
obfuscating the code is done to protect the code to some degree from beeing copied by others. You can't compile javascript into a binary form that prevents doing so (you can't compile any .Net applications in that regard neither) so in those cases obfuscation makes it harder to understand the code.
A small sample (consider this as a piece of pseudo code)
function foo() {
var counter = 0;
bar(counter);
}
function bar(var myParam) {
var somethingElse = myParam;
}
and obfuscate it to
function a() {
var b=0;
a(b);
}
function a(var b) {
var c=b;
}
you don't really know what those function really do without having the full context of it, thus making it a lot harder to just copy a function out of the script "stealing" someone else's hard work.
So nothing shady about those (of course you could assume that malicious scripts will usually be obfuscated and minified to prevent user from easily detect what they are doing)
|
|
|
|
|
Thanks for this explanation. It was the context (faked entry in a log file) paired with past experience and the unreadability of that script which made me assume malware.
Though minifying scripts may be legitimate to decrease the still increasing enormous volumes of JavaScripts sent over the network with still decreasing "payload" of actual content, it makes distinguishing those scripts from intentiously obfuscated malware scripts extremely hard - thus actually causing security issues.
|
|
|
|
|
Don't know a lot about Javascript, but there seem to be multiple syntax errors in your script.
|
|
|
|
|
Where?
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
(function() -- Isn't the leading ( a syntax error in Javascript? It is found several times in the script above.
|
|
|
|
|
|
Ok, found it. I was looking for the CLOSING parenthesis. When I first loaded it into Notepad++ I didn't see it. Thx for the link.
|
|
|
|
|
Just for the hell of it, I ran it through the beautifier to get a better look at it.
http://jsbeautifier.org/[^]
(function () {
var b = window,
f = "chrome",
g = "jstiming",
k = "tick";
(function () {
function d(a) {
this.t = {};
this.tick = function (a, d, c) {
var e = void 0 != c ? c : (new Date).getTime();
this.t[a] = [e, d];
if (void 0 == c) try {
b.console.timeStamp("CSI/" + a)
} catch (h) {}
};
this[k]("start", null, a)
}
var a;
b.performance && (a = b.performance.timing);
var n = a ? new d(a.responseStart) : new d;
b.jstiming = {
Timer: d,
load: n
};
if (a) {
var c = a.navigationStart,
h = a.responseStart;
0 < c && h >= c && (b[g].srt = h - c)
}
if (a) {
var e = b[g].load;
0 < c && h >= c && (e[k]("_wtsrt", void 0, c), e[k]("wtsrt_", "_wtsrt", h), e[k]("tbsd_", "wtsrt_"))
}
try {
a = null,
b[f] && b[f].csi && (a = Math.floor(b[f].csi().pageT), e && 0 < c && (e[k]("_tbnd", void 0, b[f].csi().startE), e[k]("tbnd_", "_tbnd", c))), null == a && b.gtbExternal && (a = b.gtbExternal.pageT()), null == a && b.external && (a = b.external.pageT, e && 0 < c && (e[k]("_tbnd", void 0, b.external.startE), e[k]("tbnd_", "_tbnd", c))), a && (b[g].pt = a)
} catch (p) {}
})();
b.tickAboveFold = function (d) {
var a = 0;
if (d.offsetParent) {
do a += d.offsetTop; while (d = d.offsetParent)
}
d = a;
750 >= d && b[g].load[k]("aft")
};
var l = !1;
function m() {
l || (l = !0, b[g].load[k]("firstScrollTime"))
}
b.addEventListener ? b.addEventListener("scroll", m, !1) : b.attachEvent("onscroll", m);
})();
|
|
|
|
|
|
Hello
I have a form page on
\\10.20.30.40\project\test\hello\Daily Reports\text.html
and I want to data in .csv format under \\10.20.30.40\project\test\hello\data.csv
but after press the submit button the error mag display
Error: Number:-2146827859 Description:Automation server can't create object
Please help me its urgent for me, I providing you the code of form
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Name</title>
<SCRIPT LANGUAGE='JavaScript'>
function WriteToFile() {
try {
var fso, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
s = fso.OpenTextFile("d:\\test\\ietm_data.csv" , 8, true, 0);
s.writeline(document.ietmdata.name.value + ", " + document.ietmdata.email.value + ", " +
document.ietmdata.location.value + ", " + document.ietmdata.comments.value + ", " +
document.ietmdata.type.value + ", " + document.ietmdata.problem.value + "," + document.ietmdata.detail.value);
s.Close();
}
catch(err){
var strErr = 'Error:';
strErr += '\nNumber:' + err.number;
strErr += '\nDescription:' + err.description;
document.write(strErr);
}
}
</SCRIPT>
</head>
<BODY>
<form action="test.hta" method="post" name="ietmdata" >
Name: <input type = "text" name="name"><br>
Email: <input type="text" name="email"><br>
Location: <input type = "text" name="location"><br>
Comments: <textarea name="comments"> </textarea><br>
Type: <select name="type" >
<option value="Software"> Software </option>
<option value="Hardware"> Hardware </option>
</select>
<br> <br>
<p> Requesting information:<BR>
<select name="problem">
<option value="Option1"> Option1</option>
<option value="Option2"> Option2</option>
</select> </p>
<p> Requesting Detail:<BR>
<select name="detail">
<option value="Male"> Male</option>
<option value="Female"> Female</option>
</select>
</p> <br> <br> <br>
<INPUT TYPE=BUTTON VALUE="Submit Data to Text File" onClick="WriteToFile(this.form)">
</form>
</body></html>
Thanking You
Manish Kumar
inspite of d:\\data.txt
|
|
|
|
|
try this:
In Internet Explorer > Tools > Internet Options > Security > Custom Level
then
Enabling "Initializing and Script Activex controls not marked as safe"
thanks
Abhishek
http://devzone.co.in
|
|
|
|
|
Dear all,
I am getting the following issues -- Uncaught TypeError: Cannot read property 'DataTable' of undefined -- error on the line of code below:
var data = new google.visualization.DataTable();
<script type="text/javascript">
function drawVisualization(dataValues, chartTitle, columnNames, categoryCaption) {
if (dataValues.length < 1)
return;
var data = new google.visualization.DataTable();
data.addColumn('string', columnNames.split(',')[0]);
data.addColumn('number', columnNames.split(',')[1]);
data.addColumn('string', columnNames.split(',')[2]);
for (var i = 0; i < dataValues.length; i++) {
data.addRow([dataValues[i].ColumnName, dataValues[i].Value, dataValues[i].Type]);
}
var categoryPicker = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'CategoryPickerContainer',
'options': {
'filterColumnLabel': columnNames.split(',')[2],
'ui': {
'labelStacking': 'horizontal',
'allowTyping': false,
'allowMultiple': false,
'caption': categoryCaption,
'label': columnNames.split(',')[2]
}
}
});
var pie = new google.visualization.ChartWrapper({
'chartType': 'LineChart',
'containerId': 'PieChartContainer',
'options': {
'width': 950,
'height': 450,
'legend': 'right',
'title': chartTitle,
'chartArea': { 'left': 100, 'top': 100, 'right': 0, 'bottom': 100 },
'pieSliceText': 'label',
'tooltip': { 'text': 'percentage' }
},
'view': { 'columns': [0, 1] }
});
new google.visualization.Dashboard(document.getElementById('PieChartExample')).bind([categoryPicker], [pie, table]).draw(data);
}
</script>
<div id="visualization" style="width: 985px; height: 350px;">
</div>
<div id="PieChartExample">
<table>
<tr style='vertical-align: top'>
<td>
<div id="CategoryPickerContainer"></div>
<div id="control1"></div>
<div id="control2"></div>
</td>
</tr>
<tr>
<td >
<div style="float: left;" id="PieChartContainer"></div>
<div style="float: left;" id="TableContainer"></div>
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
</div>
I am little unsure what this mean? Could anyone please provide a little assistant, please.
Many thanks in advance.
|
|
|
|
|
How are you calling the drawVisualization function? You can't call it until you've loaded the relevant visualization packages:
google.load('visualization', '1.0', {'packages':['corechart','controls']});
google.setOnLoadCallback(function(){
drawVisualization(...);
});
With that change in place, the code gets as far as the new google.visualization.Dashboard line, and then throws an error because the variable table is not defined.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Hi,
I am calling drawVisualization Function from the code behind:
default.aspx.cs
<pre lang="c#"> protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ClientScript.RegisterStartupScript(this.GetType(), "TestInitPageScript",
string.Format("<script type=\"text/javascript\">drawVisualization({0},'{1}','{2}');</script>",
jss.Serialize(GetData()),
"Text Example",
"Name,type,"));
}
}
[WebMethod]
public static List<Data> GetData()
{
SqlConnection conn = new SqlConnection("Data Source=84.18.208.130;Initial Catalog=cdw;Persist Security Info=True;User ID=cdwadmin;Password=remote8313");
DataSet ds = new DataSet();
DataTable dt = new DataTable();
conn.Open();
string cmdstr = "select top 100 Name, [Decimal price],Cover from [dbo].[database_BWICs]";
SqlCommand cmd = new SqlCommand(cmdstr, conn);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(ds);
dt = ds.Tables[0];
List<Data> dataList = new List<Data>();
string cat="";
float val=0;
string typ = "";
foreach (DataRow dr in dt.Rows)
{
try
{
cat = dr[0].ToString();
val = Convert.ToInt32(dr[1]);
typ = dr[2].ToString();
}
catch
{
}
dataList.Add(new Data(cat, val, typ));
}
return dataList;
}
my Default.aspx code is pretty much the same, besides the following line has been updated:
new google.visualization.Dashboard(document.getElementById('PieChartExample')).bind([categoryPicker],[pie]).draw(data);
I have also added google.load line of code as suggested but that has made no difference, as I am still experiencing the same error.
I have tired to re-write my behind code but I am not sure, if my approach is incorrect or something else?
I really appreciate your time and help.
Many Thanks.
|
|
|
|
|
You can't call the drawVisualization function before the Google APIs have loaded. Try changing your startup script to:
ClientScript.RegisterStartupScript(this.GetType(), "TestInitPageScript",
string.Format("<script type=\"text/javascript\">google.load('visualization','1.0',{'packages':['corechart','controls']});google.setOnLoadCallback(function(){drawVisualization({0},'{1}','{2}');});</script>",
jss.Serialize(GetData()),
"Text Example",
"Name,type,"));
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Dear Richard,
Thank you so much for your help with the prior issue and using your advice, I manage to show couple of charts functionality on the client-side. Thank you. =D
I am trying to add date field to data and get the line chart to read datetime type variables. However I am currently experiencing - Uncaught Error: Invalid type: dateTime -- error, when i debug the code using inspect browser.
It maybe my declaration for the date parameter is incorrect? if so, is their another type i should be using or would it be advice able to convert the datetime field to string?
public class test
{
public string ColumnName = "";
public float Value = 0;
public string Type = "";
public DateTime Date = DateTime.Now;
public test(string columnName, float value, string type, DateTime date)
{
ColumnName = columnName;
Value = value;
Type = type;
Date = date;
}
[web method]
var yesterday = DateTime.Today.AddDays(-1);
string cmdstr = "select top 500 Name, [Decimal price],Cover, UploadDate from [dbo].[database]";
SqlCommand cmd = new SqlCommand(cmdstr, conn);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(ds);
dt = ds.Tables[0];
List<test> dataList = new List<test>();
string cat = "";
float val = 0;
string typ = "";
DateTime dat = DateTime.Now;
foreach (DataRow dr in dt.Rows)
{
try
{
cat = dr[0].ToString();
val = Convert.ToInt32(dr[1]);
typ = dr[2].ToString();
dat = (DateTime)dr[3];
}
catch
{
}
dataList.Add(new test(cat, val, typ, dat));
}
return dataList;
}
Many thanks for your support and time.
|
|
|
|
|
From the error message, I'm guessing that you're passing the string "dateTime" to the chart as a column type. Looking at the documentation, it needs to be "datetime" (all lower-case).
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
hello,
Thank you for helping me with the date type. I am still slightly struggling to get the date to show on the haxis, as i am trying to plot many data points for one date (duplicate dates). I manage to find 'haxis' option from google docs and I am trying to get that to work but on the javascript debugging side its coming up as - 'object is not a function' on the 'haxis' code line:
function drawVisualization(dataValues, chartTitle, columnNames, categoryCaption) {
if (dataValues.length < 1)
return;
var data = new google.visualization.DataTable();
data.addColumn('string', columnNames.split(',')[0]);
data.addColumn('number', columnNames.split(',')[1]);
data.addColumn('string', columnNames.split(',')[2]);
data.addColumn('datetime', columnNames.split(',')[3]);
for (var i = 0; i < dataValues.length; i++) {
var date = new Date(parseInt(dataValues[i].Date.substr(6), 10));
alert(date);
data.addRow([dataValues[i].ColumnName, dataValues[i].Value, dataValues[i].Type, date]);
}
var pie = new google.visualization.ChartWrapper({
'chartType': 'LineChart',
'containerId': 'PieChartContainer',
'options': {
'width': 950,
'height': 450,
'legend': 'right',
'hAxis': {
'format': "dd-MMM-yyyy",
'maxValue': date (2013, 01, 16), 'minValue': date (2013, 01, 17), 'viewWindow':{'max': date (2013, 01, 17)}},
'title': chartTitle,
'chartArea': { 'left': 100, 'top': 100, 'right': 0, 'bottom': 100 },
'pieSliceText': 'label',
'tooltip': { 'text': 'percentage' }
},
'view': { 'columns': [3, 1] }
});
Is their better way to plot the following data, which I am currently using on the server-side, if so, would i need to create some code to distinguish between date intervals:
79.00 06/03/2014
15.00 06/03/2014
14.00 06/03/2014
Many thanks for your time and help.
|
|
|
|
|