小编Zen*_*nth的帖子

制作"标签"系统的最佳方式

这可能是一个问题,我失去了更多的时间来思考如何做到正确,思考以最佳的优化方式去做.

我有一个表"内容",并且需要添加选项以将多个"hashtags"或"tags"或"keywords"关联到内容,例如,像"Fried potatos with ketchup"这样的内容具有"键": "土豆","番茄酱"和"炒".

当我用一个单词进行搜索时,例如"马铃薯",我需要显示其中的内容标记这个单词.

问题是,它的最佳结构是什么,考虑结果的速度,因为内容表是MyISAM mith超过30 Millon行.

我想在这:

再添2个表,"contents_hashtags" (id(INT11), content_id(INT11), hashtag_id(INT11))和"hashtags" (id(INT11), hashtag(VARCHAR(40)))InnoDB中的2个表

当用户创建/修改表格内容时,我在hashtags表中搜索并获取ID,如果不存在的标签,则在表格标签中创建它,如果存在,则获取ID,使用此ID创建插入在表contents_hashtas中关联内容<-contents_hashtas-> hashtahs

在搜索中,使JOINS(LEFT/RIGHT/INNER dude ..)并通过LIKE进行搜索?通过exact(hashtag ="XXX")或FULL TEXT SEARCH?

这种方法是正确/快速的吗?我不知道如何以大排量和大流量来运行它.

php mysql performance myisam innodb

8
推荐指数
1
解决办法
6107
查看次数

CLASS中的自定义事件

我需要从CLASS启动自定义事件.我知道用DOM对象和jquery做这个,使用triggerHandler,比如$(object).. triggerHandler("inputChange",{param:X}); 问题是当我尝试使用类时,如下所示:

    var MyClass = (function(){

        var static_var = 1;

        var MyClass = function () {

            var privateVar;
            var privateFn = function(){ alert('Im private!'); };

            this.someProperty = 5;
            this.someFunction = function () {
                alert('Im public!');
            };
            this.say = function() {
                alert('Num ' + this.someProperty);
                $(this).triggerHandler("eventCustom");
            }
            this.alter = function() {
                this.someProperty ++;
            }
        };

        return MyClass;

    })();

    TheClass = new MyClass();

    $(TheClass).on('eventCustom', function() {
        alert('Event!');
    });

    TheClass.say();
Run Code Online (Sandbox Code Playgroud)

这不会启动警告或错误,但事件侦听器不起作用(或者不调度事件).我认为jQuery事件系统不适用于不是DOM对象,对吗?

启动事件的任何其他方式(我需要事件,而不是针对我的特定情况的回调)?

非常感谢!

javascript jquery

6
推荐指数
2
解决办法
1万
查看次数

如何在用户输入您的应用时获取通知ID

我使用Facebook请求对话框显示我的朋友列表并在Facebook Web APP中邀请它,使用:

    function sendRequestViaMultiFriendSelector() {
        FB.ui(
        {
            method: 'apprequests',
            message: 'Selección de amigos a los que invitar a KugaBar'
        }, requestCallback);
    }

    function requestCallback(data) {

        console.log(data);
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我需要在进入我的APP时识别用户,y看到requestCallback数据并看到"请求",但是当用户点击通知并输入APP时我不知道如何识别请求检测用户是否正在通过通知进行访问.

编辑:好的我发现它,GET变量中的参数是"request_ids",但是出现了一个问题,只有当用户先前已经通过了权限,用户登录通知,接受权限并输入时,才会出现此参数. ,这个param dosent存在,如果用户再次输入(不需要接受任何东西),这个param存在于URL中.

有没有方法在用户第一次进入时获得此参数?

有可能的?

谢谢

facebook facebook-graph-api

5
推荐指数
1
解决办法
266
查看次数

得到一个浏览器呈现html + javascript

我需要一个comandline工具(或Javascript/PHP,但我认为命令行是一种方式)用于渲染并获取URL的渲染内容,但重要的是我需要渲染Javascript而不仅仅是CSS/Html /图像.

例如,命令如:"renderengine http://www.google.es outputfile.html"和web的内容(已解析的html和javascript执行)保存在outputfile.html中.

我需要这个,因为我需要像一个完整的javascript网站的结果,如groovehark,网站加载所有使用javascript/ajax和爬虫没有找到任何东西,只有基本的HTML空模板(因为使用ajax/javscript后加载)

存在任何Linux浏览器引擎,支持Javascript(例如V8),输出结果以保存在文件中?

browser linux

5
推荐指数
2
解决办法
7821
查看次数

在GeckoFX 33中从C#调用Javascript

我试图从C#执行javascript调用到GeckoFX控制器中加载的Document,我这样做:

public void evaluateScript(string command)
{            
    System.Diagnostics.Debug.WriteLine("evaluateScript: " + command);
    using (Gecko.AutoJSContext context = 
        new AutoJSContext(geckoWebBrowser1.Window.JSContext))
    {
            string result;
            context.EvaluateScript(
                command, 
                (nsISupports)geckoWebBrowser1.Window.DomWindow, 
                out result);
    }
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我只发现作为一个解决方案来调用,geckoWebBrowser1.Navigate('javascript:functionName(1,2);');但有了这个,我无法从functionName恢复返回数据并使用它Navigate来进行JavaScript调用我认为是一个错误.有没有办法在DOM中调用JavaScript函数并在C#中接收它们的数据?

c# geckofx

4
推荐指数
1
解决办法
4566
查看次数

从字符串调用命名空间函数

现在我使用此方法调用命名空间内的函数:

eval('Admin.' + section + '.' + action + '()');
Run Code Online (Sandbox Code Playgroud)

但我不喜欢使用eval,我需要调用不同命名空间中的方法,使用JSON给我的字符串创建调用,但我认为这不是好系统,因为eval它很危险.

任何其他形式使这个工作?谢谢!

javascript

-2
推荐指数
1
解决办法
719
查看次数