小编zzz*_*Bov的帖子

Javascript/jQuery后退按钮 - 只要最后一页是当前站点的一部分?

使用下面的代码,我可以创建一个"后退"按钮,但有没有办法让链接要求最后一页是当前站点的一部分?

$(document).ready(function(){
    $('a.back').click(function(){
        parent.history.back();
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

如果最后一页不是当前站点的一部分,那么理想情况下就是能够指定备份链接.

谢谢

javascript jquery back

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

应如何格式化闭包?

我通过JSLint运行了一个脚本,它选择了一个带括号放置的特定问题.

我写过:

(function(){})();
Run Code Online (Sandbox Code Playgroud)

有人建议使用:

(function(){}());
Run Code Online (Sandbox Code Playgroud)

我很好奇这个特定的变化修复了什么错误或问题.我认为,因为JSLint选择了它作为一个问题,所以必须有人的问题.

扩展形式:

(
  function (p) {
    ...code...
  }
)(param); //parameters after the parens
Run Code Online (Sandbox Code Playgroud)

航班吗

(
  function (p) {
    ...code...
  }(param) //parameters within the parens
);
Run Code Online (Sandbox Code Playgroud)

javascript closures

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

为什么{} <function(){}?

当我在JavaScript中使用真值表时,我注意到以下评估结果为true:

var a, b, c;
a = {};
b = function(){};
c = a < b;
console.log(c);
Run Code Online (Sandbox Code Playgroud)

为什么?

我只在Firefox中对此进行了测试,我确信我可以在ECMAScript 2.6.2规范中挖掘细节,但TBH我感觉很懒.

javascript operators logical-operators

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

可以通过JavaScript读取/ statuses/user_timeline吗?

我以前用过一些jQuery在twitter上阅读推文:

$.ajax('https://api.twitter.com/1/statuses/user_timeline.json', {
    crossDomain: true,
    data: {
        screen_name: 'twitterapi',
        count: 5
    },
    dataType: 'jsonp'
}).done(function (tweets) {
    console.log(tweets);
});
Run Code Online (Sandbox Code Playgroud)

由于Twitter正在弃用他们的1.0 API,并且需要OAuth用于1.1 API,我一直试图弄清楚是否仍然可以以相同的方式获取推文数据.

只需将网址更改为:

https://api.twitter.com/1.1/statuses/user_timeline.json
Run Code Online (Sandbox Code Playgroud)

导致400 Bad Request没有消息的响应.

我知道有一个Twitter的工具来创建的请求OAuth的签名,但我不知道如何使用JSONP请求使用它,甚至如果它可以与JSONP请求中使用.

在Twitter 1.1 API中仍然可以读取用户的时间表吗?

twitter jquery twitter-oauth

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

解压缩缩小的javascript的合法性

我知道这更像是一个法律问题,但我想我会试一试.

我正在学习javascript,我在网页上找到了一些有趣的下拉菜单.我想了解更多关于它们的信息,但代码在缩小代码上面的注释中缩小了以下内容:

// Unauthorized decryption/reproduction of any codes contained herein is strictly prohibited and will result in severe civil and criminal penalties.

解压缩代码并查看代码对我来说真的不合法吗?我可以在不实际使用代码的情况下查看代码吗?

javascript jquery

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

Socket.IO和IE8 - jsonp-polling连接总是失败

值得注意的是:以下是通过https跨域完成的.老实说,我认为这不是问题,因为在IE10,Chrome和FF中一切正常.我的猜测是它可能是IE8中的XDomainRequest对象差异?不过不确定.

sendLoginRequest下面的方法是首先调用的方法.所有其他支持代码也在下面提供.

这一切都非常简单,但不确定为什么IE8会失败.

function WrappedSocket(data, session_string) {
    var clientSocket = io.connect('https://xxxxxxxx/socketio', { query: "session=" +       encodeURIComponent(session_string), transports: ['jsonp-polling'] });
    clientSocket.socket.on("connect", function () { console.log("CONNECT_SUCCEED"); });
    clientSocket.socket.on("connect_failed", function () { console.log("CONNECT_FAILED");    });
    clientSocket.socket.on("reconnect_failed", function () {    console.log("RECONNECT_FAILED"); });
    clientSocket.socket.on("error", function (eobj) { console.log("Socket error " + eobj);    });
    console.log("Made a socket that is talking");
}

var my_socket;


function set_up_socket(data, sessionString) {
    setSession(data.responseText);
    my_socket = new WrappedSocket(data, sessionString);
    my_socket.socket.emit("message", "Howdy!");
}

function sendLoginRequest(loginCode, nextRequest) {
    var xhr = createCORSRequest('POST', 'https://xxxxx/login', …
Run Code Online (Sandbox Code Playgroud)

javascript sockets jquery internet-explorer-8 socket.io

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

如何使用斜体谷歌字体?

所以我试图使用斜体版本的Google字体Roboto.

这是Google为我选择的字体提供的一些代码...

<link href='http://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700|Roboto:300,100italic' rel='stylesheet' type='text/css'>
Run Code Online (Sandbox Code Playgroud)

我可以让它应用Roboto Slab和Roboto,但我不知道如何使用Roboto Italic.

我可以...

font-style: italic;
Run Code Online (Sandbox Code Playgroud)

但你可以用任何字体做到这一点,并得到一个虚假的斜体.我想要真正的斜体谷歌字体.

任何人都知道如何正确使用Italic Google字体?

html css fonts

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

Javascript:由此分开|那

我该如何拆分这样的字符串

var str = "M50 0 L0 100 L100 100 L50 0 z M0 0 L100 0 L50  100 L0 0 Z";

var arr4String = str.split('z|Z');
Run Code Online (Sandbox Code Playgroud)

我期待得到一个包含3个元素的数组:

["M50 0 L0 100 L100 100 L50 0", "M0 0 L100 0 L50  100 L0 0", ""]
Run Code Online (Sandbox Code Playgroud)

javascript split

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

在悬停时为多个项目添加addClass

所以我整天都在研究这个剧本,我见过的所有例子似乎都没有做我想要的.这是我的示例CodePen.尝试将鼠标悬停在"MENUS"和"SETTINGS"上.我会试着用文字来解释这个问题:

剧本:

var activeItem = $("#menu .active");
var items = $("#menu .main:not(.active)");

activeItem.addClass("active-2");

items.hover(function () {
    "use strict";
    activeItem.toggleClass("active-2");
});

$(document).mousemove(function (event) {
    "use strict";
    if ($(".sub-1").css("background-clip").toLowerCase() == "content-box") {
        $(".sub-1").parents(".main").addClass("active-2");
        $(".sub-1").parents(".main").css("background-color", "#CCC");
    } else {
        $(".sub-1").parents(".main").removeClass("active-2");
        $(".sub-1").parents(".main").css("background-color", "");
    }
});
Run Code Online (Sandbox Code Playgroud)

上面的代码给出active-2了活动项的蓝线(类).在这种情况下"家".该items变量计算所有未激活的主菜单项,并用于active-2在其他项目悬停时从"HOME" 切换蓝线().到现在为止还挺好.

问题:

我有子菜单项(深灰色).当鼠标位于这些子菜单项的任何位置时,我想给父主项目蓝线(active-2)直到鼠标离开,然后将蓝线返回到当前活动项目activeItem,在本例中为"HOME".

当只有1个子项目组(如"MENUS"下的那个)时,它可以工作.但当我添加第二个子菜单组(在"设置"下)时,它就破了.我正在寻找一种方法来实现它,所以无论我有多少个子菜单组,当鼠标悬停在子菜单项上activeItem时,主项目的蓝线应该是可见的,当我不再徘徊它时返回.如果您使用检查员删除其中一个ul带有.sub-1"MENUS"或"SETTINGS" 类别的s,它将再次开始工作.

为什么mousemove???

我试图.addClass.hover.removeClass在它的回调函数,但没有奏效...也许我只是不这样做是正确的?所以基本上我能想到的实现这种效果的唯一方法是用mousemove,检查被给予子项只有当他们看到毫无意义的CSS属性:

#menu …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

按子数组值过滤对象数组

这是我想要做的:

movies = [{'title': 'a', 'genres': ['Romance', 'Comedy']}, 
          {'title': 'b', 'genres': ['Drama', 'Comedy']}, 
          {'title': 'c', 'genres': ['Action', 'Adventure']}]

filters = ['Romance', 'Drama']
Run Code Online (Sandbox Code Playgroud)

过滤数组的所需内容:

[{'title': 'a', 'genres': ['Romance', 'Comedy']}, 
 {'title': 'b', 'genres': ['Drama', 'Comedy']}]
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何在给定另一个值数组的情况下过滤数组.如果'filters'只是一个字符串,那么我可以这样做:

movies.filter(x => x.genres.includes(filters))
Run Code Online (Sandbox Code Playgroud)

但是,如果过滤器是一个值数组,这显然不起作用.

任何帮助深表感谢.

javascript arrays

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