|
|
|
| у меня получилось создать толковый словарь [URL="http://img130.imageshack.us/i/48744379.jpg/"]гаджет [/URL], но как только я создал [URL="http://maxmessage.ru/r/6195?page=1"]нормальный словарь[/URL], гаджет запускается, когда вводишь слово, ну просто ничего не просиходит, я так понял он не может подгружать инфу с таких больших файлов. Как можно разделить этот файл, и объяснить что-то если нет слова в одном файле - проверить в другом, если нет во всех - "такого слова нет" ?
Вот вся начинка:
background.png
icon.png
gadget.xml
[HTML]<?xml version="1.0" encoding="utf-8" ?>
<gadget>
<name>Words</name>
<version>1.1</version>
<author name="Nick">
<info url="site.ru" />
<logo src="logo.png" />
</author>
<copyright></copyright>
<icons>
<icon width="64" height="64" src="icon.png" />
</icons>
<hosts>
<host name="Words">
<base type="HTML" apiVersion="1.0.0" src="gadget.html" />
<permissions>full</permissions>
<platform minPlatformVersion="0.3" />
</host>
</hosts>
</gadget>[/HTML]
gadget.html
[HTML]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<script type="text/javascript" src="words.js"></script>
<script type="text/javascript">
function find(){
var srch = document.getElementById('srch').value;
if (words[srch.toLowerCase()])
document.getElementById('result').innerHTML = words[srch.toLowerCase()];
else
document.getElementById('result').innerHTML = 'Такого слова здесь нет';
}
</script>
<title>Words gadget</title>
<style type="text/css">
body
{
margin: 68;
width: 380px;
height: 285px;
}
#main{
width: 220px;
height: 5px;
padding: 55px;
}
input{
display: block;
width: 294px;
padding: 1px;
margin: 2px auto;
}
</style>
</head>
<body>
<g:background
id="background"
src="background.png"
style="position:absolute;top:10;left:5;z-index:-1;no=repeat;" ></g:background>
<div id="main">
<input type="text" id="srch" />
<input type="button" onclick="find()" value="Спросить!"/>
<div id="result"></div>
</div>
</body>
</html>[/HTML]
words.js
http://maxmessage.ru/r/6195?page=1
words.php
[PHP]<?php
$file = file('words.txt');
$js = 'words = Array()' . PHP_EOL;
foreach($file as $val){
$val = trim($val);
if (strlen($val)<3)
continue;
$str = explode(' - ',$val);
$js .= "words['" . strtolower(trim($str[0])) . "'] = '" . str_replace("'","\'",trim($str[1])) . "'" . PHP_EOL ;
}
file_put_contents('words.js', $js);
?>[/PHP]
words.txt
http://maxmessage.ru/r/6228 | |
|
|