小编sid*_*ker的帖子

所有浏览器的通知

是否有适用于所有主流浏览器的通知系统?我知道chrome有他们的Notification API,Safari有推送通知,IE已经固定网站,但是有一些更通用的方式来显示通知吗?我确实找到了https://github.com/ttsvetko/HTML5-Desktop-Notifications,它们使用了不同通知的组合(虽然我似乎仍然无法让IE中的演示工作).

javascript browser html5 notifications web-notifications

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

是否允许多行元内容值?

我正在使用meta http-equiv="Content-Security-Policy"标记将域名列入白名单.列表变得越来越大,所以我想知道在content值中使用新行是否可以?

<meta http-equiv="Content-Security-Policy" content="
   default-src 'self' http://example.com;
   style-src 'self' 'unsafe-inline' http://example.com;
   script-src 'self' 'unsafe-inline' http://example.com;
">
Run Code Online (Sandbox Code Playgroud)

编辑:刚发现validator.w3.org在多行content值上显示错误,所以我猜这是不允许的.

html meta multiline meta-tags content-security-policy

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

元素表单上属性操作的值不正确:必须为非空

我的php文件上有一个常规表单,在提交之后它必须回显一条消息.通过在action =""中添加任何内容,我能想到显示消息的唯一方法是将其存储到会话中,并在页面加载时显示它(如果有会话集).

一切都工作得很好,但是w3c验证器说我有一个错误:

元素表单上属性操作的值不正确:必须为非空.

如何在不必将#或index.php放入操作字段的情况下修复此错误?

编辑:

<form action="" method="post">
    <input type="email" name="email" placeholder="Enter your email">
    <input type="submit" name="submit" value="SEND">
</form>

<?php
    if(isset($_POST['submit']) && isset($_POST['email'])){          
        if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false){
           echo 'This isn\'t a valid email';
        }else{
           echo 'Great';
        }
    }
?>
Run Code Online (Sandbox Code Playgroud)

html php w3c-validation

7
推荐指数
2
解决办法
7111
查看次数

对TypeScript模块感到困惑

我是TypeScript的新手,但在C#中有一个背景,我对如何处理TypeScript模块有点困惑.我一直在考虑将模块作为C#中的命名空间,但这可能是错误的,因为我的代码行为不像我期望的那样.

我有以下文件夹结构:

|-myApp
|  |-myController
|  |      |-myController.ts
|  |-models
       |-a.ts
       |-b.ts
Run Code Online (Sandbox Code Playgroud)

而这段代码:

// a.ts
module MyApp.Models {
    export class A {

    }
}
// b.ts
module MyApp.Models {
    export class B {

    }
}

// myController.ts (THIS DOESN'T WORK)
module MyApp.MyController {
    import Models = MyApp.Models;
    class MyController {
        a = new Models.A();
        b = new Models.B();
    }
}

// myController.ts (THIS WORKS)
module MyApp.MyController {
    class MyController {
        a = new Models.A();
        b = new Models.B();
    }
} …
Run Code Online (Sandbox Code Playgroud)

import namespaces module typescript

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

asp.net web api控制器中不允许405个方法选项?

我有这个非常常见的问题,它说方法不允许(OPTIONS)GET请求.每当我进行API调用时,我都会收到以下错误.我有这样的设置web.config:

<system.webServer>
  <modules>
    <remove name="WebDAVModule"/>
  </modules>
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Origin" value="*"/>
      <add name="Access-Control-Allow-Headers" value="Origin, Authorization, X-Requested-With, Content-Type, Accept"/>
      <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
    </customHeaders>
  </httpProtocol>
  <handlers>
    <remove name="WebDAV"/>
    <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
    <remove name="OPTIONSVerbHandler"/>
    <remove name="TRACEVerbHandler"/>
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
  </handlers>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

我尝试使用Asp.Net.WebApi.Cors并强制执行CORS全局使用EnableCors()所有原始标头和方法,这也不起作用.

asp.net cors asp.net-mvc-4 asp.net-web-api

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

Google Maps API:请求的资源上没有"Access-Control-Allow-Origin"标头

我已经看到多个人提出这个问题了,没有一个答案对我有用.

我正在尝试使用react/axios对google maps api进行API调用.

这是我的获取请求:

componentDidMount() {
  axios({
   method : 'get',
   url : `http://maps.googleapis.com/maps/api/js?key=${key}/`,
   headers: {
     "Access-Control-Allow-Origin": '*'
     "Access-Control-Allow-Methods": 'GET',
   },
  })
 .then(function (response) {
  console.log(response);
 })
 .catch(function (error) {
  console.log(error);
 });
}
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

XMLHttpRequest cannot load http://maps.googleapis.com/maps/api/js?
key=xxxxxxxxx/. Response to preflight request doesn't pass access control 
check: No 'Access-Control-Allow-Origin' header is present on the 
requested resource. Origin 'http://localhost:3000' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)

我读过其他人都指向https://www.html5rocks.com/en/tutorials/cors/的文章con CORS

但我找不到我的问题的答案.

google-maps xmlhttprequest google-maps-api-3 cors axios

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

我什么时候应该在响应标头中真正将“Access-Control-Allow-Credentials”设置为“true”?

MDN说,当必须在站点之间交换 cookie、授权标头或 TLS 客户端证书等凭据时,Access-Control-Allow-Crendentials必须将其设置为true.

考虑两个站点 A - https://example1.xyz.com,另一个站点是 B- https://example2.xyz.com。现在我必须Get从 A 向 B发出 http请求。当我从 AI 请求 B 时,

“请求的资源上不存在‘Access-Control-Allow-Origin’标头。因此不允许访问Origin‘http://example1.xyz.com ’。”

所以,我在 B 中添加以下响应头

response.setHeader("Access-Control-Allow-Origin", request.getHeader("origin"));
Run Code Online (Sandbox Code Playgroud)

这解决了相同的起源错误,我可以向 B 提出请求。我何时以及为什么应该设置

response.setHeader("Access-Control-Allow-Credentials", "true");
Run Code Online (Sandbox Code Playgroud)

当我用谷歌搜索解决这个same-origin错误时,他们中的大多数人都推荐使用这两个标题。我不清楚使用第二个Access-Control-Allow-Credentials。

  1. 我什么时候应该同时使用两者?
  2. 为什么我应该设置Access-Control-Allow-Origin为origin从请求头中获取而不是通配符*?

请给我举个例子,以便更好地理解它。

http httpresponse same-origin-policy cors fetch-api

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

Webpack dev服务器React内容安全策略错误

我在webpack-dev-server上运行了我的单页应用程序.我可以加载和重新加载我的进入路线localhost:8080,它每次都有效.但是,我localhost:8080/accounts/login只能通过应用程序内的链接加载localhost:8080/accounts/login,即每当我从浏览器刷新按钮重新加载我得到

Cannot GET /accounts/login/
Run Code Online (Sandbox Code Playgroud)

作为服务器响应,我得到了控制台

内容安全策略:页面的设置阻止了自身加载资源("default-src http:// localhost:8080 ").来源:;(函数installGlobalHook(window){....

这是我在单页应用的index.html上的CSP标题

<meta http-equiv="Content-Security-Policy"
  content="default-src * 'self' 'unsafe-inline' 'unsafe-eval'">
Run Code Online (Sandbox Code Playgroud)

我也没有使用任何devtool我的webpack.config.json.我错过了什么.

content-security-policy reactjs webpack webpack-dev-server

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

CORS – 跨源请求被阻止 – “Access-Control-Allow-Origin”标头包含无效值

我遇到了 CORS 问题,但似乎无法解决。

我的设置:

  • 网络A上的路由器/热点
  • 网络B上的 Web 服务器

我想做的是......用户将他的电子邮件输入到Hotspot入口页面,当他单击提交时,电子邮件被发送到网络服务器(当前使用XAMPP),这就是CORS问题发生的地方。

跨源请求被阻止:同源策略不允许读取http://myIpAddress:8080/DBinsert.php处的远程资源。(原因:CORS 标头“Access-Control-Allow-Origin”丢失。

以前我已经header('Access-Control-Allow-Origin: *');设置过并且没有 CORS 问题......

我尝试将此代码添加到我的 php 的最开头,但它仍然不起作用......

header('Access-Control-Allow-Origin: http://10.5.50.*');

我也尝试过

header('Access-Control-Allow-Origin: http://10.5.50.*:8080');

但它不起作用...

计算机IP是10.5.50.3

欢迎任何帮助和解释。

谢谢。

javascript cors

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

如何在 Blazor Web assembly 中使用“Sec-Fetch-Mode: no-cors”进行 http 请求

如何在 Blazor Web assembly 中通过 HttpClient 使用 HTTP 请求标头Sec-Fetch-Mode: no-cors发出请求?

我的实际代码是:

var hc = new HttpClient();
var responseHTTP = await hc.GetAsync("https://www.somedomain.com/api/");
Run Code Online (Sandbox Code Playgroud)

但这会产生以下 HTTP 请求标头:

:authority: www.somedomain.com
:method: GET
:path: /api/json?input=test&key=AIzaSyDqWvsxxxxxxxxxxxxxxxxx1R7x2qoSkc&sessiontoken=136db14b-88bd-4730-a0b2-9b6c1861d9c7
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9
origin: http://localhost:5000
referer: http://localhost:5000/places
sec-fetch-dest: empty
sec-fetch-mode: cors
sec-fetch-site: cross-site
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36
x-client-data: CJS2yQxxxxxxxxxxxxxxxxxxxxxxxxygEI7bXKAQiOusoBCObGygE=

Run Code Online (Sandbox Code Playgroud)

blazor-client-side sec-fetch-mode

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