Oi pessoal, eu já postei no fórum de Windows sobre meu novo projeto (loadOnce), como ele funciona, as desvantagens e os termos de copyrighting. Se vocês querem contibuir com as correções e têm noções sobre HTML Application (*.hta) e o controle ActiveX Scripting.FileSystemObject, não deixe de enviar a correção para anteu311@ig.com.br ,desde que você concorde com os termos de copyrighting do projeto:
function deletePage(){ printScreen = event.srcElement if (confirm("Deseja realmente excluir a página '" + printScreen.innerText + "' para que seja permitida que o endereço seje carregado da próxima vez do seu endereço original?")){ windowsExplorer.DeleteFile(printScreen.cacheFile) location.reload() }}
function getInfo(){ printScreen = event.srcElement selCacheWWW = windowsExplorer.GetFile(printScreen.cacheFile)
function gregorian2tryen(day, month, year){ tryenDaysPast = 0 todayTryen = new Date() todayDay = todayTryen.getDate(year,month,day) todayMonth = todayTryen.getMonth() todayYear = todayTryen.getYear() daysMonth = new Array("31","28","31","30","31","30","31","31","30","31","30","31") if (todayYear%4==0){daysMonth[1]="29"} tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(26))
for (x=2006;x<todayYear;x++){ if (x%4=="0"){ tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(366))} else {tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(365))} }
if (todayMonth=="1"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(todayDay))} else if (todayMonth=="2"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(todayDay))} else if (todayMonth=="3"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(todayDay))} else if (todayMonth=="4"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(todayDay))} else if (todayMonth=="5"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(todayDay))} else if (todayMonth=="6"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(todayDay))} else if (todayMonth=="7"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(todayDay))} else if (todayMonth=="8"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(daysMonth[6])+parseFloat(todayDay))} else if (todayMonth=="9"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(daysMonth[6])+parseFloat(daysMonth[7])+parseFloat(todayDay))} else if (todayMonth=="10"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(daysMonth[6])+parseFloat(daysMonth[7])+parseFloat(daysMonth[8])+parseFloat(todayDay))} else if (todayMonth=="11"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(daysMonth[6])+parseFloat(daysMonth[7])+parseFloat(daysMonth[8])+parseFloat(daysMonth[9])+parseFloat(todayDay))} else if (todayMonth=="12"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(daysMonth[6])+parseFloat(daysMonth[7])+parseFloat(daysMonth[8])+parseFloat(daysMonth[9])+parseFloat(daysMonth[10])+parseFloat(todayDay))} return tryenDaysPast + " AT" } </script> </table> </div>
<span> A tecnologia LoadOnce, ainda em fases de aperfeiçoamento, vai permitir ao usuário velocidade total ao carregar as páginas, prinicpalmente aquelas que forem visitadas mais de uma vez. Como próprio nome diz, você carrega a informação do servidor remoto uma única vez para ser acessada mesmo que você esteje desconectado da Internet posteriormente. Mas é recomendável você excluir páginas do cache, caso desconfie que aquela página é velha demais. Assim, o programa irá regrao arquivo atualizado no cache.<br><br> <center>Clique com o botão esquerdo para obter informações e com botão direito para excluir uma página do cache</center> </span>
É isso. Espero que não enchi o saco de ninguém com essa divulgação do meu projeto novo em JavaScript. E vocês podem ir até o site da Microsoft MSDN (em inglês) para ter noção de HTML Application e Scripting.FileSystemObject. A descrição se encontra clicando em INFO e o download em BAIXAR (os dois links se encontram na minha assinatura)
Planejamento
LoadOnce 1.0* (Disponível em forma de teste)
LoadOnce 1.1 (Em desenvolvimento, será lançado integrado ao projeto em HTML Application Deutrix millennium Browser 2008)
LoadOnce 2.0 (Em fase de planejamento [nem um byte foi digitado], será lançado junto com o sucessor do DMB 2008, que tem o nome de "Deutrix Millennium Browser Satanforce", provavelmente em 2009)
Pergunta
Eu o Mister HTML !!!
Oi pessoal, eu já postei no fórum de Windows sobre meu novo projeto (loadOnce), como ele funciona, as desvantagens e os termos de copyrighting. Se vocês querem contibuir com as correções e têm noções sobre HTML Application (*.hta) e o controle ActiveX Scripting.FileSystemObject, não deixe de enviar a correção para anteu311@ig.com.br ,desde que você concorde com os termos de copyrighting do projeto:
DEMO.HTA
LOM.htm:
#allSavedSites TR TD {color: dodgerblue; font-family: tahoma; font-size: 8pt; cursor: hand}
BODY {filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=white,endColorStr=gainsboro); overflow: hidden}
H1 {font-family: BankGothic LT BT; color: orangered; font-weight: normal; font-size: 21pt; text-align: center}
SPAN {color: dimgray; font-family: tahoma; font-size: 8pt}
</style>
<script>
var windowsExplorer = new ActiveXObject("Scripting.FileSystemObject")
</script>
<h1>Sites salvos com LoadOnce, do SatanForce Tecnology</h1>
<div style="width: 100%; height: 500; overflow: auto">
<table id=allSavedSites width=100%>
<script>
getCache = windowsExplorer.GetFolder("C:\\LO\\Text-cache")
allSites = new Enumerator(getCache.files)
for (; !allSites.atEnd(); allSites.moveNext()){
document.write("<tr onClick=\"getInfo()\" oncontextmenu=\"deletePage(); return false\"><td cacheFile=\"" + allSites.item() + "\">" + strDec(allSites.item()) + "</td></tr>")
}
function strDec(encryptedWWWAddress){
encryptedWWWAddress = new String(encryptedWWWAddress)
encryptedWWWAddress = encryptedWWWAddress.substring(encryptedWWWAddress.lastIndexOf('\\')+1, encryptedWWWAddress.lastIndexOf('.'))
encryptedWWWAddress = unescape(encryptedWWWAddress)
encryptedWWWAddress = encryptedWWWAddress.split('[bar]')
encryptedWWWAddress = encryptedWWWAddress.join('/')
encryptedWWWAddress = encryptedWWWAddress.split('[point]')
encryptedWWWAddress = encryptedWWWAddress.join('.')
return encryptedWWWAddress
}
function deletePage(){
printScreen = event.srcElement
if (confirm("Deseja realmente excluir a página '" + printScreen.innerText + "' para que seja permitida que o endereço seje carregado da próxima vez do seu endereço original?")){
windowsExplorer.DeleteFile(printScreen.cacheFile)
location.reload()
}}
function getInfo(){
printScreen = event.srcElement
selCacheWWW = windowsExplorer.GetFile(printScreen.cacheFile)
filteredDCInfo = new Array()
month_text2num = new Array()
month_text2num["Jan"] = 1
month_text2num["Feb"] = 2
month_text2num["Mar"] = 3
month_text2num["Apr"] = 4
month_text2num["May"] = 5
month_text2num["Jun"] = 6
month_text2num["Jul"] = 7
month_text2num["Aug"] = 8
month_text2num["Sep"] = 9
month_text2num["Oct"] = 10
month_text2num["Nov"] = 11
month_text2num["Dec"] = 12
receiveDCInfo = ''+selCacheWWW.DateCreated+''
receiveDCInfo = receiveDCInfo.split(' ')
filteredDCInfo[0] = receiveDCInfo[3].substring(0, receiveDCInfo[3].lastIndexOf(':'))
filteredDCInfo[1] = receiveDCInfo[2] + "/" + month_text2num[receiveDCInfo[1]] + "/" + receiveDCInfo[5]
filteredDCInfo[1] = filteredDCInfo[1].split('/')
filteredDCInfo[1] = gregorian2tryen(filteredDCInfo[1][0],filteredDCInfo[1][1],filteredDCInfo[1][2])
alert("Data de criação: " + "\t\t" + filteredDCInfo[1] + "\n" + "Horário de criação: " + "\t\t" + filteredDCInfo[0] + "\n" + "Tamanho: " + "\t\t" + byte2varbyte(printScreen.cacheFile))
}
function byte2varbyte(file){
byteLevelNames = new Array("B","KB","MB","GB","TB")
byteLevel = 0
getCacheFile = windowsExplorer.GetFile(file)
fsize = getCacheFile.size
for (x=0;x<1;x++){
if (fsize >= 1024){
fsize = fsize/1024
byteLevel++
x = -1
}}
fsize = parseFloat(0.01)+parseFloat(fsize)
fsize = new String(fsize)
fsize = fsize.substring(0, fsize.indexOf('.')+3)
fsize = fsize.split('.')
fsize = fsize.join(',')
return fsize + " " + byteLevelNames[byteLevel]
}
function gregorian2tryen(day, month, year){
tryenDaysPast = 0
todayTryen = new Date()
todayDay = todayTryen.getDate(year,month,day)
todayMonth = todayTryen.getMonth()
todayYear = todayTryen.getYear()
daysMonth = new Array("31","28","31","30","31","30","31","31","30","31","30","31")
if (todayYear%4==0){daysMonth[1]="29"}
tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(26))
for (x=2006;x<todayYear;x++){
if (x%4=="0"){
tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(366))}
else {tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(365))}
}
if (todayMonth=="1"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(todayDay))}
else if (todayMonth=="2"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(todayDay))}
else if (todayMonth=="3"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(todayDay))}
else if (todayMonth=="4"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(todayDay))}
else if (todayMonth=="5"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(todayDay))}
else if (todayMonth=="6"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(todayDay))}
else if (todayMonth=="7"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(todayDay))}
else if (todayMonth=="8"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(daysMonth[6])+parseFloat(todayDay))}
else if (todayMonth=="9"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(daysMonth[6])+parseFloat(daysMonth[7])+parseFloat(todayDay))}
else if (todayMonth=="10"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(daysMonth[6])+parseFloat(daysMonth[7])+parseFloat(daysMonth[8])+parseFloat(todayDay))}
else if (todayMonth=="11"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(daysMonth[6])+parseFloat(daysMonth[7])+parseFloat(daysMonth[8])+parseFloat(daysMonth[9])+parseFloat(todayDay))}
else if (todayMonth=="12"){tryenDaysPast=parseFloat(parseFloat(tryenDaysPast)+parseFloat(daysMonth[0])+parseFloat(daysMonth[1])+parseFloat(daysMonth[2])+parseFloat(daysMonth[3])+parseFloat(daysMonth[4])+parseFloat(daysMonth[5])+parseFloat(daysMonth[6])+parseFloat(daysMonth[7])+parseFloat(daysMonth[8])+parseFloat(daysMonth[9])+parseFloat(daysMonth[10])+parseFloat(todayDay))}
return tryenDaysPast + " AT"
}
</script>
</table>
</div>
<span>
A tecnologia LoadOnce, ainda em fases de aperfeiçoamento, vai permitir ao usuário velocidade total ao carregar as páginas, prinicpalmente aquelas que forem visitadas mais de uma vez. Como próprio nome diz, você carrega a informação do servidor remoto uma única vez para ser acessada mesmo que você esteje desconectado da Internet posteriormente. Mas é recomendável você excluir páginas do cache, caso desconfie que aquela página é velha demais. Assim, o programa irá regrao arquivo atualizado no cache.<br><br>
<center>Clique com o botão esquerdo para obter informações e com botão direito para excluir uma página do cache</center>
</span>
É isso. Espero que não enchi o saco de ninguém com essa divulgação do meu projeto novo em JavaScript. E vocês podem ir até o site da Microsoft MSDN (em inglês) para ter noção de HTML Application e Scripting.FileSystemObject. A descrição se encontra clicando em INFO e o download em BAIXAR (os dois links se encontram na minha assinatura)
Planejamento
LoadOnce 1.0* (Disponível em forma de teste)
LoadOnce 1.1 (Em desenvolvimento, será lançado integrado ao projeto em HTML Application Deutrix millennium Browser 2008)
LoadOnce 2.0 (Em fase de planejamento [nem um byte foi digitado], será lançado junto com o sucessor do DMB 2008, que tem o nome de "Deutrix Millennium Browser Satanforce", provavelmente em 2009)
Boas sugestões!
Editado por Eu o Mister HTML !!!Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.