小编Joh*_*lum的帖子

javascript中的"with"关键字

可能重复:
JavaScript的"with"语句是否有合法用途?

我最近发现在javascript中,可以执行以下操作:

with document{
    write('foo');
    body.scrollTop = x;
}
Run Code Online (Sandbox Code Playgroud)

这样做的缺点是需要检查每个变量以查看它是否属于文档对象,从而产生显着的开销.

或者,可以做这样的事情:

var d = document;
d.write('foo');
d.body.scrollTop = x;
Run Code Online (Sandbox Code Playgroud)

是否有任何情况下使用'with'关键字是合理的?

javascript

48
推荐指数
3
解决办法
5万
查看次数

Jquery切换事件正在弄乱复选框值

当用户点击复选框时,我正在使用Jquery的切换事件做一些事情,如下所示:

$('input#myId').toggle(
function(){
//do stuff  
},
function(){
//do other stuff    
}
);
Run Code Online (Sandbox Code Playgroud)

问题是当我点击复选框时没有勾选复选框.(我在切换事件中添加的所有内容都正常工作.)

我尝试过以下方法:

$('input#myId').attr('checked', 'checked');
Run Code Online (Sandbox Code Playgroud)

$(this).attr('checked', 'checked');
Run Code Online (Sandbox Code Playgroud)

甚至简单

return true;
Run Code Online (Sandbox Code Playgroud)

但没有任何工作.谁能告诉我哪里出错了?

编辑 - 感谢所有回复的人.除了检查属性的部分外,Dreas的回答几乎对我有用.这很完美(虽然它有点hacky)

$('input#myInput').change(function ()
{
    if(!$(this).hasClass("checked"))
    {
        //do stuff if the checkbox isn't checked
        $(this).addClass("checked");
        return;
    }

    //do stuff if the checkbox isn't checked
    $(this).removeClass('checked');
});
Run Code Online (Sandbox Code Playgroud)

再次感谢所有回复的人.

forms jquery

42
推荐指数
3
解决办法
5万
查看次数

Django admin - 如果编辑对象,删除字段

我有一个可以通过Django管理区访问的模型,如下所示:

# model
class Foo(models.Model):
    field_a = models.CharField(max_length=100)
    field_b = models.CharField(max_length=100)

# admin.py
class FooAdmin(admin.ModelAdmin):
    pass
Run Code Online (Sandbox Code Playgroud)

假设我想在用户添加对象时显示field_a和field_b,但如果用户正在编辑对象,则只显示field_a.是否有一种简单的方法可以使用fields属性?

如果遇到它,我可能会破解JavaScript解决方案,但根本不这样做是不对的!

django django-admin

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

每个选项卡使用chrome.browserAction.setPopup

我正在编写一个Chrome扩展程序,它会根据当前网址动态更改弹出窗口的内容.

我在background.js中做了类似的事情,这很好用:

if(domains.contains(request.url)){
    chrome.browserAction.setPopup({
        popup: "tracking.html"
    });
}else{
    chrome.browserAction.setPopup({
        popup: "nottracking.html"
    });
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我切换选项卡,弹出窗口的内容在选项卡之间保持不变.处理这个问题的正确策略是什么?

  • 以某种方式陷入标签更改事件(如果存在这种可能性)?
  • 将弹出内容的更改限制为当前选项卡?(我注意到tabIdchrome.browserAction.setPopup 有一个可选参数,但文档有点不足)
  • 别的什么?

非常感谢所有人的帮助!

google-chrome google-chrome-extension

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

可选的ImageField(Django)

我在我的一个模型中遇到了ImageField的问题.它被设置为空白=真,空=真(它是可选的.)

当我遍历一个对象列表并使用object.thumbnail.url时,我得到"渲染时捕获异常:'thumbnail'属性没有与之关联的文件."

只有在没有上传缩略图时才会发生这种情况.

有没有人对处理这个问题的最佳方法有任何想法?

django django-templates django-models

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

如何模拟Jquery UI API?

我以前写过基本的jQuery插件,但是我正在努力解决一些更复杂的问题.我想模仿jQuery UI的API,它的工作原理如下:

$('#mydiv').sortable({name: 'value'}); // constructor, options
$('#mydiv').sortable("serialize"); // call a method, with existing options
$('#mydiv').sortable('option', 'axis', 'x'); // get an existing option
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法:

(function($){
    $.fn.myPlugin = function(cmd){
        var config = {
            default: 'defaultVal'
        };

        if(typeof cmd === 'object'){
            $.extend(config, cmd);
        }

        function _foo(){
            console.log(config.default);
        }

        if(cmd==='foo'){
            return _foo();
        }

        this.each(function(){
            // do default stuff
        });
    }
})(jQuery);

$('#myElement').myPlugin({default: 'newVal'});
$('#myElement').myPlugin('foo');
Run Code Online (Sandbox Code Playgroud)

我想在这里看到的是'newval'被记录,但我看到的是'defaultVal'; 每当我在元素上调用.myPlugin()时,就会调用插件并从头开始.

我也尝试过使用_foo.call(this)和其他一些变体.没有快乐.

在某种程度上,我理解为什么会发生这种情况,但我知道必须有可能以与jQuery UI相同的方式来实现.我只是看不出来怎么样!

(我很欣赏jQuery UI使用小部件工厂来处理所有这些,但我不想让它成为插件的要求.)

javascript jquery jquery-ui jquery-plugins

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

更新Android应用程序的策略(带数据库)

如果这个问题得到解答,请原谅我 - 我搜索过但找不到它.

我有一个我想要升级的Android应用程序,它使用SQLite数据库.我想更新应用程序中的一些应用程序逻辑,但不会更新数据库架构或内容.我基本上需要保持数据库与用户完全一致.

我是否需要在onUpgrade中执行任何操作以确保保留数据库,或者我是否可以单独保留数据库内容以进行此更新?

sqlite android

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

codeigniter中的安全性

下午好,

我对CodeIgniter的安全性有一些疑问,首先是:

我有一个控制器:news.php,其中有一个名为view的方法

例:

class News extends CI_Controller{

    public function view( $id )
    {
        $this->load->model('news_model');
        $this->news_model->get_by_id( $id );
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这种工作形式安全吗?没有URL注入SQL的风险?考虑到这个页面被访问,所以mywebpage/news/number_id.过滤intval()或不必要的过程会很有趣吗?

我的第二个问题是:

默认情况下,CodeIgniter xss过滤器可以发布和获取,但未知的是通过CodeIgniter过滤HTML的方法,我在CodeIgniter中创建了一个帮助器,有一些类似于本机CodeIgniter的方法吗?

function remove_xss_html($string){

    if( is_array( $string ) ){

    $return_array = array();

        foreach( $string as $item )
        {
            if(!get_magic_quotes_gpc())
            {
                $return_array[] =  addslashes( htmlspecialchars( strip_tags( $item ) ) );
            }
            else
            {
                $return_array[] =  htmlspecialchars( strip_tags( $item ) );
            }
        }
            return $return_array;
    }
    else
    {
        return htmlspecialchars( strip_tags( $string ) );
    }
}
Run Code Online (Sandbox Code Playgroud)

第三个也是最后一个问题是:

如果我将变量$ …

php sql-injection codeigniter

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

站点名称出现在django URL中

我有一个问题,在Django中调用url模板标签会附加网站名称(我不希望它在那里.)

假设网站名称是'mysite'.

例如:

<a href="{% url myapp.views.myview "myparam" %}">Link text</a>
Run Code Online (Sandbox Code Playgroud)

正在生产:

<a href="/mysite/foo/bar">Link text</a>
Run Code Online (Sandbox Code Playgroud)

当我想要它产生:

<a href="/foo/bar">Link text</a>
Run Code Online (Sandbox Code Playgroud)

我的urls.py设置如下:

from django.conf.urls.defaults import *
import mysite.myapp.views

urlpatterns = patterns('',
    (r'^/foo/bar/$', 'mysite.myapp.views.myview'),
)
Run Code Online (Sandbox Code Playgroud)

谁能指出我正确的方向?

编辑 - 当网站处于开发阶段时,它位于测试服务器的子目录中,应用程序作为子目录!所以它坐在http://www.mytestserver.com/mysite上.没有缓存,所有对/ mysite的引用都在上线之前删除了.

python django url django-urls

3
推荐指数
1
解决办法
548
查看次数

1046:未找到类型或不是编译时常量错误

我对AS3非常非常新,并尝试编辑我的一些模板.我收到了这条消息......有人可以帮助我一步一步做些什么吗?就像我说的,我很新,需要一步一个脚印.

Scene 1, Layer 'Layer 2', Frame 1, Line 10  1046: Type was not found or was not a compile-time constant: Event.

Scene 1, Layer 'Layer 2', Frame 1, Line 23  1046: Type was not found or was not a compile-time constant: MouseEvent.

Scene 1, Layer 'Layer 2', Frame 1, Line 28  1046: Type was not found or was not a compile-time constant: MouseEvent.

Scene 1, Layer 'Layer 2', Frame 1, Line 33  1046: Type was not found or was …
Run Code Online (Sandbox Code Playgroud)

actionscript-3

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