我正在尝试在我的Chrome扩展程序中为某些AJAX请求添加"Referer"-HTTP-Header.您无法在AJAX请求中直接更改它,因此我尝试使用webRequest api更改它:
chrome.webRequest.onBeforeSendHeaders.addListener(function(data) {
console.log("onBeforeSendHeaders fired");
var xdata=data.requestHeaders;
xdata.push({
"name":"Referer",
"value": "http://the.new/referrer"
})
return {requestHeaders: xdata};
}, { //Filter
urls: ["<all_urls>"], //For testing purposes
types: ["xmlhttprequest"]
},["requestHeaders","blocking"]);
Run Code Online (Sandbox Code Playgroud)
但这对我的扩展中的AJAX请求不起作用.它仅在其他AJAX请求上触发事件,但不在我的扩展中完成.
另一个奇怪的事情是,当没有设置"阻塞"标志时,一切正常,但是我无法更改标题.
有没有人知道解决这个问题的方法(或实现我的目标的另一种方式:更改站点请求的"Referer"并检索内容)
谢谢 :)
我试图在考虑其成本的情况下在多边形内找到路径.
在我的具体情况下,我有一个角色应该只是相对直的,也就是说它不应该相差几度,不能移动到北,东,南或西.
理想情况下,我会指定一个随偏差而增加的成本.我假设这是一个图论相关的问题,但我不知道如何在多边形中做到这一点......
插图中的红色虚线路径是常规算法产生的; 绿色是我想要的.编辑:我把图片弄乱了一点; 澄清:红色路径是多边形内部最短的路径,我希望绿色路径是角度约束下可能的最短路径.

(为了澄清,如果我的多边形看起来像 (1),我希望路径是这样的 (2),而不仅仅是点之间的直线)
(1) ,-------------------+ (2) ,-------------------+
/ (B) | / (B) |
/ | / / |
+--+ | -> +--+ / |
| +-+ | / +-+
| (A) | | (A)-------------+ |
+-----------------------+ +-----------------------+
Run Code Online (Sandbox Code Playgroud)