我正在构建一个用JavaScript编写的开发工具.
这不是一个开源项目,将作为商业产品出售(希望).
我正在寻找保护我投资的最佳方法.使用混淆器(代码管理器)足以合理地保护代码?
还有其他我不知道的替代方案吗?
(我不确定混淆器是否是正确的词,它是使用您的代码并使其非常难以理解的应用程序之一.)
阻止创建setTimeout函数的多个实例的最佳推荐/最佳方法是什么(在javascript中)?
一个例子(伪代码):
function mouseClick()
{
moveDiv("div_0001", mouseX, mouseY);
}
function moveDiv(objID, destX, destY)
{
//some code that moves the div closer to destination
...
...
...
setTimeout("moveDiv(objID, destX, destY)", 1000);
...
...
...
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如果用户多次点击鼠标,我会调用多个moveDiv()实例.
我看到的选项是创建一个标志,只允许在没有其他实例可用的情况下调用超时...这是最好的方法吗?
我希望说清楚......
我想在开发PHP应用程序时参考使用包含文件与对象(类)的优缺点.
我知道我会从一个地方获得这个答案中受益...我对自己有一些看法,但我期待听到其他人的意见.
一个简单的例子:
我的网站上的某些页面只能由登录用户访问.我有两个实现选项(还有其他选项,但我们将它限制为这两个选项)
创建authenticate.php文件并将其包含在每个页面上.它拥有身份验证的逻辑.
创建具有身份验证功能的用户对象,在每个页面上引用该对象进行身份验证.
编辑 我想看看某种方式权衡一方的优势.我目前(和弱的理由)遵循:
包含 - 有时一个函数更容易/更短/更快地调用对象 - 功能和属性的分组导致长期维护.
包含 - 更少的代码编写(没有构造函数,没有类语法)叫我懒惰,但这是真的.
对象 - 强制形式和功能和创造的单一方法.
包括 - 新手更容易处理对象 - 新手更难,但专业人士不赞成.
我在项目开始时查看这些因素,以决定是否要包含或包含对象.这些是我的头脑中的一些优点和缺点.
要求,每晚上传1500 jpg图像,下面的代码打开并多次关闭连接,我想知道是否有更好的方法.
...这是一个代码片段,所以这里有变量在其他地方定义
Dim picClsRequest = DirectCast(System.Net.WebRequest.Create(ftpImagePath), System.Net.FtpWebRequest)
Dim picClsStream As System.IO.Stream
Dim picCount As Integer = 0
For i = 1 To picPath.Count - 1
picCount = picCount + 1
log("Sending picture (" & picCount & " of " & picPath.Count & "):" & picDir & "/" & picPath(i))
picClsRequest = DirectCast(System.Net.WebRequest.Create(ftpImagePath & "/" & picPath(i)), System.Net.FtpWebRequest)
picClsRequest.Credentials = New System.Net.NetworkCredential(ftpUsername, ftpPassword)
picClsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile
picClsRequest.UseBinary = True
picClsStream = picClsRequest.GetRequestStream()
bFile = System.IO.File.ReadAllBytes(picDir & "/" & picPath(i))
picClsStream.Write(bFile, …
Run Code Online (Sandbox Code Playgroud) 我认为这是IE 6.0特有的,但......
在JavaScript中我添加了一个div
DOM.我分配了一个id
属性.当我稍后尝试拿起div
由id
我得到的是null
.
有什么建议?
例:
var newDiv = document.createElement("DIV");
newDiv.setAttribute("ID", "obj_1000");
document.appendChild(newDiv);
alert("Added:" + newDiv.getAttribute("ID") + ":" + newDiv.id + ":" + document.getElementById("obj_1000") );
Run Code Online (Sandbox Code Playgroud)
警报打印 "::null"
似乎在Firefox 2.0+中工作正常