小编mwi*_*rek的帖子

将DIV元素移动到父级的底部(作为最后一个子级)

我正在尝试为我正在开发的网站的主页顶部创建一个不断旋转的横幅.我可以设想保持它不断旋转的最好方法是获取第一个DIV(firstChild)并在它滑出视图后将其移动到堆栈的末尾.

这个:

<div id='foo0'></div>
<div id='foo1'></div>
<div id='foo2'></div>
<div id='foo3'></div>
Run Code Online (Sandbox Code Playgroud)

应该成为这样的:

<div id='foo1'></div>
<div id='foo2'></div>
<div id='foo3'></div>
<div id='foo0'></div>
Run Code Online (Sandbox Code Playgroud)

我使用Prototype框架......我试图通过使用我自己的方法克隆元素并将其插入父DIV的底部来做到这一点,但我发现并非所有的样式属性都被转移,我想放弃这种方法,因为我不希望被移动的是元素的复制/克隆,而是实际的元素本身.

谢谢.

javascript dom elements prototypejs

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

UTF-8中的值在JSON中编码为NULL

我有一组通过JSON从DB(编码的UTF-8)传递的关键字,其中一些可能有特殊字符,如é,è,ç等.这用作自动完成程序的一部分.例:

array('Coffee', 'Cappuccino', 'Café');
Run Code Online (Sandbox Code Playgroud)

我应该补充说,来自数据库的数组将是:

array('Coffee', 'Cappuccino', 'Café');
Run Code Online (Sandbox Code Playgroud)

但是JSON编码为:

["coffee", "cappuccino", null];
Run Code Online (Sandbox Code Playgroud)

如果我通过print_r()打印这些,它们在UTF-8编码的网页上显示正常,但是如果我想使用print_r($ array)查看数组,如果使用text/plain,café就会显示为"café" ;出口();.

如果我在编码到JSON之前使用utf8_encode()编码,它会很好,但在网页上打印的是"café"而不是"café".

同样奇怪,但json_last_error()被视为未定义的函数,但json_decode()和json_encode()工作正常.

关于如何从数据库中获取UTF-8编码数据在整个过程中表现相同的任何想法?

EIDT:这是PHP函数,它抓取关键字并将它们组成一个数组:

private function get_keywords() 
{
    global $db, $json;

    $output = array();

    $db->query("SELECT keywords FROM listings");

    while ($r = $db->get_array())
    {
        $split = explode(",", $r['keywords']);

        foreach ($split as $s)
        {
            $s = trim($s);
            if ($s != "" && !in_array($s, $output)) $output[] = strtolower($s);
        }
    }

    $json->echo_json($output);
}
Run Code Online (Sandbox Code Playgroud)

json :: echo_json方法只是编码,设置标题并打印它(用于Prototype)

编辑:DB连接方法:

function connect()
{

    if ($this->set['sql_connect'])
    {
        $this->connection = @mysql_connect( $this->set['sql_host'], $this->set['sql_user'], $this->set['sql_pass']) …
Run Code Online (Sandbox Code Playgroud)

php json utf-8

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

如何通过强制转换控制界面捕获UIMediaController点击

我在我的应用程序中构建了一个完美运行的自定义投射发送器 - 我需要添加的唯一功能是收听"播放/暂停"和"跳过"按钮的方式,但Google的文档(据我所知)能够搜索)没有给出任何线索,并且在添加高级演员功能中显示的功能后,文档无法正常工作:

CastMediaOptions castMediaOptions = new CastMediaOptions.Builder()
     .setMediaIntentReceiverClassName(CastIntentReceiver.class.getName())
     .build();

return new CastOptions.Builder()
        .setReceiverApplicationId(context.getString(R.string.cast_id))
        .setCastMediaOptions(castMediaOptions)
        .build();
Run Code Online (Sandbox Code Playgroud)

我有一个CastIntentReceiver扩展MediaIntentReceiver,它CastOptionsProvider在清单中和引用中引用.

public class CastIntentReceiver extends MediaIntentReceiver {

    public static String TAG = "CastIntentReceiver";

    public CastIntentReceiver() {
        Log.i(TAG, "CastIntentReceiver: Constructed!");
    }
    ...
    // The rest of the Override methods don't do anything

}
Run Code Online (Sandbox Code Playgroud)

接收器正在工作,因为日志打印正在工作,但没有调用任何覆盖方法(无日志打印).

以下是我实施的一些其他详细信息:

所有的转换函数都在两个独立的类中,CastManager(控制器)和CastControls片段(视图),它被添加到MainActivity View的基础(类似于YouTube).还有接口可以触发这两个类之间的事物.

在CastManager中,我设置UIMediaController并绑定视图:

View view = CastingBridge.CAST_CONTROLS_VIEW.findViewById(R.id.cast_drawer_controls);

uiMediaController = new UIMediaController(activity);
SeekBar seekBar = (SeekBar) view.findViewById(R.id.cast_control_seek_bar);
TextView start …
Run Code Online (Sandbox Code Playgroud)

android google-cast

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

PHP预先连接的简写?

我已经用PHP编程多年了,我一直想知道是否有一种'预连接'字符串的方法.例:

$path = '/lib/modules/something.php';
$server = $_SERVER['DOCUMENT_ROOT'];
Run Code Online (Sandbox Code Playgroud)

多年来我一直在这样做,以便将值附加到字符串的开头:

$path = $server . $path;
// returns: /home/somesite.com/public_html/lib/modules/something.php
Run Code Online (Sandbox Code Playgroud)

这有简写吗?只是好奇.

php string concatenation

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

jQuery show()不是函数 - 用于添加DOM元素

我正在从PrototypeJS迁移到jQuery,并且我在将功能应用于添加到简单横幅脚本中的新DOM元素时遇到了问题.

基本上,在页面加载时,使用append()将新的DIV元素放入DOM中,据我所知,这是在jQuery中完成的,而不是Prototype的Element对象.

$.each(Banner.data, function(i, e) {
  $('#banner_area').append("<div class='banner_slot' id='bannner-"+ i +"'>...[nested elements]</div>").hide();
    });
$('.banner_slot').get(0).show();
Run Code Online (Sandbox Code Playgroud)

检查Firebug后,元素已成功添加到DOM中,并立即隐藏.然后第一个(0)元素应该显示...但是,Firebug给我这个错误:

TypeError: $(...).get(...).show is not a function
http://www.ten103.com/javascript/global_desktop.js
Line 15
Run Code Online (Sandbox Code Playgroud)

我确信这很简单,因为我多年来一直在使用Prototype,但需要转向jQuery,因为......更多的人使用它,所以资源无限好.

我在这里缺少两个根本区别吗?

javascript jquery dom

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

Event.observe'更改'事件未在IE中触发

我用于选择菜单中的更改的Prototype事件侦听器未在IE中触发.

Event.observe('use_billing', 'change', Checkout.getBillingData);
Run Code Online (Sandbox Code Playgroud)

这在Firefox(当然)中运行良好,但IE中没有任何事情发生(当然) - 我一直在谷歌搜索这段时间,但我还没有找到合适的解决方案来解决这个问题.我读到有问题,但我发现没有什么有用的可以绕过这个问题并让它发挥作用.

我真的试图避免使用内联事件触发器,因为它们是突兀的,并使得容易出错的凌乱文档:

<select id='use_billing' onchange="Checkout.getBillingData();">....</select>
Run Code Online (Sandbox Code Playgroud)

任何想法都会很棒 - 这是阻止这个项目从测试到生产的唯一因素.

javascript events internet-explorer onchange prototypejs

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

React 未定义(无法读取未定义的属性“createElement”)

我正在尝试将一个可以工作的 ReactJS 应用程序转换为 TypeScript,但在让任何东西正常工作时遇到了一些问题。

import React from "react";
import * as ReactDOM from "react-dom";
import Application from "./Application";

console.log(React); // undefined

ReactDOM.render(
    <Application/>, window.document.getElementById("application-wrapper")
);
Run Code Online (Sandbox Code Playgroud)

控制台在以下位置抛出错误 <Application />

当我像这样导入反应时,反应加载:

import * as React from "react";
Run Code Online (Sandbox Code Playgroud)

但是,我想使用默认导出的 import 语句,因为我在所有现有组件中使用此导入语法导入 React:

import React, {Component} from "react";

export default class Whatever extends Component<Props, State> {
...
}
Run Code Online (Sandbox Code Playgroud)

我的tsconfig.json文件包含允许合成默认值的这一行:

"allowSyntheticDefaultImports": true
Run Code Online (Sandbox Code Playgroud)

我的webpack.config.js文件:

let path = require("path");
let config = {
    entry: "./src/main.tsx",
    output: {
        path: path.resolve(__dirname, "build"),
        filename: "bundle.js"
    }, …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs

3
推荐指数
2
解决办法
8807
查看次数

Spring Boot - 如何有条件地启用/禁用会话

我使用 Spring 构建了一个 REST API 服务,其中我使用 MongoDB 启用了会话:

@Configuration
@EnableMongoHttpSession(maxInactiveIntervalInSeconds = Globals.SESSION_MAX_INTERVAL)
public class SessionConfig {

    @Bean
    public AbstractMongoSessionConverter createSessionConverterBean() {
        return new JacksonMongoSessionConverter(Collections.singletonList(new GeoModule()));
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我想控制应该向哪些连接发出会话。目前,每个 HTTP 请求都会为其生成一个会话,但在某些情况下不需要该会话,我不希望将会话存储与永远不会使用的会话对象混在一起。

一个这样的场景是充当内容管理系统的独立桌面应用程序。此应用程序不需要 HTTP 会话,因为身份验证是通过应用程序端通过自定义授权标头完成的。此应用程序也仅从某个根路由映射访问端点:

公共交通路线api.domain.com/pub和 CMS 交通路线通过api.domain.com/cpi

如果能够告诉 Spring 它不需要为任何请求创建会话,那就太好了/cpi。桌面应用程序还提供了一个独特的Origin,如果更容易完成,我也可以匹配。

我的网络安全看起来像这样:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
            .anyRequest()
            .permitAll()
            .and()
            .cors()
            .and()
            .httpBasic();
    http.csrf().disable(); // Self-implemented
}
Run Code Online (Sandbox Code Playgroud)

我已经找遍了,没有找到任何东西。任何人都可以指出我正确的方向吗?

谢谢!

java spring spring-security spring-session

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

在 Android Studio 中向 Gradle 添加 AppCompat 依赖项

翠绿的新手在这里。我正在制作一个相当简单的项目,它需要与比 Lollipop 更旧的 Android 版本兼容,但仍然希望通过使用AppCompat.

不幸的是,我不知道如何工作(甚至找不到)gradle - 我试图运行一个 gradle 任务: compile "com.android.support:appcompat-v7:21.0.+"

但它在我的项目中返回了一个错误,指出“任务‘编译’是模棱两可的…… ”。

谁能告诉我如何添加这个?我在谷歌上搜索过,但一切都超出了我的头脑。

谢谢!

android android-appcompat gradle android-studio

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

C++ 错误:未定义标识符“CWnd”

我是一个 C++ 新手,所以请多多包涵。

驻留在函数中的这行代码:

CWnd* pWnd = CWnd::FindWindow("Shell_TrayWnd", "");
Run Code Online (Sandbox Code Playgroud)

CWnd即将出现“未定义”。我知道我需要在全局范围内定义它,但是如何定义?我需要包含什么标题才能使用这个类?项目是MFC。

使用 VS 2010。

c++ mfc cwnd

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