小编End*_*ess的帖子

从jquery $ .ajax到angular $ http

我有这个jQuery代码,可以很好地交叉起源:

jQuery.ajax({
    url: "http://example.appspot.com/rest/app",
    type: "POST",
    data: JSON.stringify({"foo":"bar"}),
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function (response) {
        console.log("success");
    },
    error: function (response) {
        console.log("failed");
    }
});
Run Code Online (Sandbox Code Playgroud)

现在我想把它转换成Angular.js代码而没有任何成功:

$http({
    url: "http://example.appspot.com/rest/app",
    dataType: "json",
    method: "POST",
    data: JSON.stringify({"foo":"bar"}),
    headers: {
        "Content-Type": "application/json; charset=utf-8"
    }
}).success(function(response){
    $scope.response = response;
}).error(function(error){
    $scope.error = error;
});
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.

ajax jquery cross-domain angularjs angular-http

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

如何使用jsdom和typescript防止'全局'类型中存在"属性'...'?

我尝试将现有项目转换为使用Typescript,我在测试设置时遇到了问题.

我有一个用于我的测试的安装文件,用于设置jsdom,以便我的所有DOM交互代码在我的测试期间工作.使用Typescript(ts-node with mocha)我总是得到这样的错误:

Property 'window' does not exist on type 'Global'.
Run Code Online (Sandbox Code Playgroud)

为了防止这种情况,我尝试修补NodeJS.Global接口,如下所示:

declare namespace NodeJS{
  interface Global {
    document: Document;
    window: Window;
    navigator: Navigator;
  }
}
Run Code Online (Sandbox Code Playgroud)

但这并没有改变任何事情.

如何在NodeJS全局变量上启用这些浏览器属性?

附加功能:

这是我的摩卡setup.ts:

import { jsdom, changeURL } from 'jsdom';

const exposedProperties = ['window', 'navigator', 'document'];

global.document = jsdom('');
global.window = global.document.defaultView;
Object.keys(global.document.defaultView).forEach((property) => {
  if (typeof global[property] === 'undefined') {
    exposedProperties.push(property);
    global[property] = global.document.defaultView[property];
  }
});

global.navigator = {
  userAgent: 'node.js',
};

changeURL(global.window, 'http://example.com/');
Run Code Online (Sandbox Code Playgroud)

jsdom typescript typescript2.0

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

angularjs - 扩展递归

我想扩展一些属性递归(aka.深拷贝).很像jQuery.我不包括jquery只有b/c的一件事.

jQuery.extend( true, target, object1 )
Run Code Online (Sandbox Code Playgroud)

有没有你知道的优雅方式,用简单的javascript或angularjs吗?

更新 请看看并尝试完成相同的结果 http://plnkr.co/edit/GHabYbyhsqtfBPtplksO?p=preview

我确实研究过.copy()但是删除了"属性(对象)"

angularjs

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

在iPad/iPhone上使用CSS @ font-face

我正在尝试使用CSS的font-face属性和自定义字体:

@font-face {
   font-family: "Handvetica";
   src: url("Handvetica.eot"); 
   src: url("Handvetica.ttf") format("truetype"),
     url("Handvetica.otf") format("opentype"), 
     url("Handvetica.woff") format("woff"),
     url("Handvetica.svg#Handvetica") format("svg");
}
Run Code Online (Sandbox Code Playgroud)

它适用于ff,safari和chrome.

Web上的多个站点声明要在iOs设备(iPod/iPhone/iPad)上使用font-face,需要svg字体.字体是使用https://onlinefontconverter.com转换的,我有所有的格式.

svg字体不会显示在iOs上.有谁知道如何使它工作?另外,svg url声明中#的正确语法是什么?它代表什么?

谢谢.

css iphone fonts svg ipad

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

如何修复 必须使用 import 加载 ES Module Discord.js

我正在开发一个机器人,我做了一个烘焙命令,我收到此错误

\n
internal/modules/cjs/loader.js:1089\n      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);\n      ^\n\nError [ERR_REQUIRE_ESM]: Must use import to load ES Module: C:\\Users\\acer\\Documents\\test\\node_modules\\node-fetch\\src\\index.js\nrequire() of ES modules is not supported.\nrequire() of C:\\Users\\acer\\Documents\\test\\node_modules\\node-fetch\\src\\index.js from C:\\Users\\acer\\Documents\\test\\commands\\roast.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.\nInstead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from C:\\Users\\acer\\Documents\\test\\node_modules\\node-fetch\\package.json.\n\n\xe2\x86\x90[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1089:13)\xe2\x86\x90[39m\n\xe2\x86\x90[90m …
Run Code Online (Sandbox Code Playgroud)

javascript bots node.js discord.js

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

绑定角度交叉的iframe,可能吗?

有没有什么方法可以绑定/共享相同的范围/控制器/指令和东西到同一域中的另一个iframe?

如果我可以在另一个iframe中拥有相同的ngApp,那将会很酷.以前有人做过这样的事吗?

angularjs

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

为什么IE8没有加载我的eot文件?

我下载了一些otf字体,然后将它们转换为eot使用:https://onlinefontconverter.com 但是当我在IE8中查看该网站时,字体不显示(它们显示在Chrome,Firefox,Opera,Android中).我的代码或eot都必须出错.有谁知道什么是错的?

(在此下载Roboto:http://www.fontsquirrel.com/fonts/roboto)

(在此处转换:https://onlinefontconverter.com)

styles.css的

@font-face
{
    font-family: RobotoCondensed;
    src: url("Roboto-Condensed.eot");
}

@font-face
{
    font-family: RobotoCondensed;
    src: url("Roboto-Condensed.ttf");
}

.myDiv
{
    font-family: RobotoCondensed, Arial, Helvetica;
    font-size: 10px;
    color: #e8e8e8;
}
Run Code Online (Sandbox Code Playgroud)

index.html(相关代码)

<div class="myDiv">Some font in here that shows incorrectly as Arial!</div>
Run Code Online (Sandbox Code Playgroud)

样式表和字体位于同一文件夹中.

html css fonts internet-explorer internet-explorer-8

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

更改WebRTC流中的播放延迟

我正在尝试将实时MediaStream(最终从摄像机)从peerA投射到peerB,并且我希望peerB实时接收实时流,然后以增加的延迟重播它。不幸的是,由于无法跳入直播,因此无法简单地暂停播放并继续播放。

因此,我发现可以使用MediaRecorder + SourceBuffer重新观看直播。记录流并将缓冲区附加到MSE(SourceBuffer),然后在5秒钟后播放。这在本地设备(流)上起作用。但是,当我尝试在接收方上使用Media Recorder时,MediaStream(from pc.onaddstream)看起来会获取一些数据,并且能够将缓冲区附加到sourceBuffer上。但是它不能重播。有时我只得到一帧。

const [pc1, pc2] = localPeerConnectionLoop()
const canvasStream = canvas.captureStream(200)

videoA.srcObject = canvasStream
videoA.play()

// Note: using two MediaRecorder at the same time seem problematic
// But this one works
// stream2mediaSorce(canvasStream, videoB)
// setTimeout(videoB.play.bind(videoB), 5000)

pc1.addTransceiver(canvasStream.getTracks()[0], {
  streams: [ canvasStream ]
})

pc2.onaddstream = (evt) => {
  videoC.srcObject = evt.stream
  videoC.play()

  // Note: using two MediaRecorder at the same time seem problematic
  // THIS DOSE NOT WORK
  stream2mediaSorce(evt.stream, videoD)
  setTimeout(() => videoD.play(), 2000) …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome webrtc web-mediarecorder

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

将数据推入for循环JavaScript中的数组

有人可以给我解释一下为什么这样做

itemIds = [];
for (var i = 0; i <= data.length; i++) {
  itemIds.push(data[0].item);
}
console.log(itemIds); // outputs as expected, the same thing, data.length times
Run Code Online (Sandbox Code Playgroud)

但这是行不通的(唯一的变化是添加i到中push()

itemIds = [];
for (var i = 0; i <= data.length; i++) {
  itemIds.push(data[i].item);
}
console.log(itemIds); // TypeError: Cannot read property 'item' of undefined
Run Code Online (Sandbox Code Playgroud)

我需要执行此操作,因为data在此示例中,该操作来自角度$http调用并返回对象。我不明白为什么静态放入0可以工作,但尝试使其在每个对象之间进行迭代data.item却没有。

javascript arrays

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

woff 文件中有多种字体粗细?

我将包含多个粗细的 .ttc 字体文件上传到https://onlinefontconverter.com并获得了 .woff 文件。它包含所有权重吗?我如何将它们与 CSS 一起使用?

通过以下声明,我只能使用普通和粗体,尽管原始 .ttc 文件中有更多的粗细。

@font-face {
    font-family: 'Avenir';
    src: url('avenir.woff') format('woff');
}
Run Code Online (Sandbox Code Playgroud)

css font-face woff

5
推荐指数
0
解决办法
532
查看次数