小编Dav*_*rey的帖子

CORS,Amazon S3和Rails - 在IE 10和Safari上失败

IE 10支持CORS.Amazon S3支持CORS.

我们在所有浏览器中都有直接从站点到S3的上传工作,但是IE 10(没有使用IE 9-).它的工作原理如下:

  1. 用户选择一个文件(拖放或从文件输入中选择)

  2. (POST)我们必须在进入S3($.post('/static/sign_asset', { ... })之前"签署"该请求,该回复具有一整天都能完美激活的回调.

  3. (POST)然后我们使用文件数据和来自签名的数据将XHR设置为S3.

var xhr = new XMLHttpRequest();
// etc
var fd = new FormData();
// etc
xhr.open('POST', url, true);
xhr.send(fd);

文件上传,一切都在所有浏览器中完美运行,除了......

问题从IE 10开始:

  1. 在Access-Control-Allow-Origin标头中找不到Origin null.XMLHttpRequest:网络错误0x80070005,访问被拒绝.我们response.headers["Access-Control-Allow-Origin"] = "*"在发送响应的控制器中设置后,没有其他浏览器显示此信息.即使我们有这个错误,Chrome也会显示此错误,但请求仍然会通过.

  2. 尽管出现此错误,该文件实际上仍会上传到S3.Amazon S3做了303重定向的事情 - 这是我们验证文件是否已成功上传.

  3. (GET)这是对CORS Ajax请求的重定向,因此"重定向"不刷新它刚回来的页面并命中我们的服务器.IE 10使用Content-Type进行此请求multipart/form-data; boundary=---------------------------7dd2ce2201da

这就是导致Rails出错的原因.

Started GET "/static/signed/asset/tsabat/83ee6840-7158-0130-c19b-28cfe912f6ff?bucket=s.cdpn.io&key=5%2Fauthor-tim_2.jpg&etag=%2260fb3876d516553ff6f3a018066b3250%22" for 127.0.0.1 at
 2013-03-17 10:46:36 -0700

EOFError - bad content body:
  (gem) rack-1.4.5/lib/rack/multipart/parser.rb:74:in `block in Rack::Multipart::Parser#fast_forward_to_first_boundary'  (gem) rack-1.4.5/lib/rack/multipart/parser.rb:72:in `Rack::Multipart::Parser#fast_forward_to_first_boundary'
  (gem) rack-1.4.5/lib/rack/multipart/parser.rb:72:in `Rack::Multipart::Parser#parse' …
Run Code Online (Sandbox Code Playgroud)

amazon amazon-s3 cors internet-explorer-10

30
推荐指数
1
解决办法
3512
查看次数

无法设置webkit-scrollbar-thumb的宽度

我正在尝试设置一个适用于Chrome和Safari的自定义滚动条.我试过以下CSS:

::-webkit-scrollbar {
    width: 15px;
}

::-webkit-scrollbar-track {
    background-color: rgba(100, 100, 100, .5);
    width: 15px;
}

::-webkit-scrollbar-thumb {
    background-color: #818B99;
    border-radius: 9px;
    width: 9px;
}
Run Code Online (Sandbox Code Playgroud)

然而,width-webkit-scrollbar-thumb被忽略.如上所述,我希望拇指比轨道更薄.

似乎我可以通过在-webkit-scrollbar-thumb3px上设置与轨道颜色相同的边框来伪造宽度,但是这仅适用于不透明的背景颜色,我需要它以如上所述的轨道使用透明颜色.

示例jsfiddle:http://jsfiddle.net/L6Uzu/1/

webkit css3

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

无法使用android:xlargeScreens ="true"?

我正在为手机制作应用程序,但我不想让它们在平板电脑上使用.我不知道为什么不能.我在我的android清单文件中使用它:

android:xlargeScreens="true"
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误:在'android'包中找不到属性'xlargeScreens'的资源标识符

这是我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="cro.perger.bonbon"
      android:versionCode="5"
      android:versionName="1.4">
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".bonbon"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

            <!-- Broadcast Receiver that will process AppWidget updates -->
        <receiver android:name=".HelloWidget" android:label="@string/w_name">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                </intent-filter>
        <meta-data android:name="android.appwidget.provider"
            android:resource="@xml/hello_widget_provider" />
        </receiver>

        <receiver android:name=".SMSReceiver">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>    

        </application>
        <supports-screens android:resizeable="true"
                      android:smallScreens="true"
                      android:normalScreens="true"
                      android:largeScreens="true"
                      android:xlargeScreens="true"
                      android:anyDensity="true"/>
    <uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
    <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.READ_SMS"/> …
Run Code Online (Sandbox Code Playgroud)

android manifest tablet screen-size

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

LessCSS中的@media和@ font-face支持

您好,有没有人知道如何使用LessCSS进行媒体查询?

  @media screen and (max-width: 600px) {
      #container{
          width: 480px;
      }
  }
Run Code Online (Sandbox Code Playgroud)

给我以下错误:

! Syntax Error: on line 23: expected one of :: : . # * - [ @media @font-face , { ; got ( after:

@media screen and
Run Code Online (Sandbox Code Playgroud)

同样,@ font-face和任何与LessCSS编译器冲突的CSS3查询.

谢谢!

css less media-queries

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

无法下载youtube视频

我无法自动检索Youtube视频.这是代码.问题是最后一部分.download = urllib.request.urlopen(download_url).read()

    # Youtube video download script
    # 10n1z3d[at]w[dot]cn

    import urllib.request
    import sys

    print("\n--------------------------")
    print (" Youtube Video Downloader")
    print ("--------------------------\n")

    try:
            video_url = sys.argv[1]
    except:
            video_url = input('[+] Enter video URL: ')

    print("[+] Connecting...")
    try:
            if(video_url.endswith('&feature=related')):
                    video_id = video_url.split('www.youtube.com/watch?v=')[1].split('&feature=related')[0]
            elif(video_url.endswith('&feature=dir')):
                    video_id = video_url.split('www.youtube.com/watch?v=')[1].split('&feature=dir')[0]
            elif(video_url.endswith('&feature=fvst')):
                    video_id = video_url.split('www.youtube.com/watch?v=')[1].split('&feature=fvst')[0]
            elif(video_url.endswith('&feature=channel_page')):
                    video_id = video_url.split('www.youtube.com/watch?v=')[1].split('&feature=channel_page')[0]
            else:
                    video_id = video_url.split('www.youtube.com/watch?v=')[1]
    except:
            print("[-] Invalid URL.")
            exit(1)       
    print("[+] Parsing token...")
    try:
            url = str(urllib.request.urlopen('http://www.youtube.com/get_video_info?&video_id=' + video_id).read())
            token_value = url.split('video_id='+video_id+'&token=')[1].split('&thumbnail_url')[0]

            download_url = "http://www.youtube.com/get_video?video_id=" + video_id …
Run Code Online (Sandbox Code Playgroud)

python file urllib python-3.x

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

CSS透视图在Internet Explorer 10或Firefox中无效

我有一个jQuery图像滚动条,使用perpectivetransform: translateZCSS属性模拟深度.它在Chrome中正确呈现,但在IE10或Firefox中无法呈现.

这是完整的项目(点击"Who's coming"菜单链接查看图像滚动条):http: //www.girlguiding.org.uk/test/biggig/index.html 这里是相关代码的jsFiddle :http: //jsfiddle.net/moosefetcher/rxCMr/28/ (我不知道为什么,但stackoverflow告诉我我需要包含链接到jsFiddle的代码,所以这里是css)...

.scroller {
    position: relative;
    perspective: 150;
    -webkit-perspective: 150;
    -ms-perspective: 150;
    -moz-perspective: 150;
}
.artistBox {
    width: 228px;
    height: 268px;
    background-color: #000000;
    border-radius: 16px;
    position: absolute;
    overflow: hidden;
    z-index: 4;
}
.artistBox p {
    position: absolute;
    font-family:"Arial", sans-serif;
    color: white;
    font-size: 22px;
}
.artistBoxFront {
    z-index: 5;
}
.artistBoxNew {
    z-index: 3;
    opacity: 0;
}
.scrollerButton {
    position: absolute;
    top: 128px;
    width: 32px;
    height: …
Run Code Online (Sandbox Code Playgroud)

firefox transform css3 perspective internet-explorer-10

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

MSIE 10,Web字体和字体功能设置会导致不可见的文本

我认为这确实是Microsoft Internet Explorer 10中的一个错误,但我无法在任何地方找到任何解释.可以在http://jsfiddle.net/37Bu5/找到问题的现场演示,这里是代码:

<html><head>
<style>
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400");
.withkerning
{
    font-family: "Open Sans";
    font-feature-settings: "kern" 1;
}
</style>
</head><body>
<p>Here`s some example text 1.</p>
<p class="withkerning">Here`s some example text 2.</p>
</body></html>
Run Code Online (Sandbox Code Playgroud)

问题是带有类的段落withkerning是完全不可见的.我想使用kern(字体中的字距)功能,因为它提高了可读性.

有关如何解决此问题的任何建议?据我所知,这与MSIE版本11.0,Firefox或Chrome无法重现.我更愿意避免使用JavaScript

  1. font-feature-settings使用JavaScript进行申请,因此如果浏览器速度足够快,我会得到难看的文字闪存,而不是字距
  2. 我按原样保留CSS并尝试从MSIE 10中删除font-feature-settings.任何试图使用MSIE 10查看内容的用户,如果没有打开JavaScript,将会得到一个缺少文本的页面.

html css webfonts windows-7 internet-explorer-10

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

css rem单元不使用字体声明

这个css属性不适用于IE10:

font: bold 3rem/6rem Arial;
Run Code Online (Sandbox Code Playgroud)

但是,如果我将此属性拆分为单独的属性,它将起作用:

font-size: 3rem;
font-weight: bold;
line-height: 6rem;
font-family: Arial;
Run Code Online (Sandbox Code Playgroud)

我也可以使用PX而且它也有效:

font: bold 48px/96px Arial;
Run Code Online (Sandbox Code Playgroud)

您可以使用IE调试器在每个页面上尝试它.为什么这个属性不适用于IE,而是适用于所有其他浏览器?

css html5 internet-explorer css3 internet-explorer-10

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

配置IIS发送"text/html"以响应IE11

的Internet Explorer在Windows 8.1,IE11更新的版本,具有下列用户代理字符串按照:

Mozilla/5.0(Windows NT 6.3; Trident/7.0; rv:11.0)就像Gecko一样

我们的网站正在为所有浏览器的"text/html"响应中正确设置Content-Type,除非我们使用IE11 UA.对于发送IE11 UA的浏览器,它错误地发送"application/xhtml + xml".所有浏览器都在请求的Accept标头中发送"text/html,application/xhtml + xml,*/*".

是否有IIS或ASP.NET web.config设置允许为IE11或默认设置"text/html"?我目前没有使用任何.browser文件.

asp.net iis http internet-explorer-11

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

IOException我无法捕获

我有一个应用程序与USB-GPS交谈.它是一种魅力,如果没有任何不寻常的幸福.但我有一个大问题.如果USB被拔出,我的程序(有时)会崩溃.我有Try/Catch我需要它们但是这个IOExeption没有被捕获.我只是得到"设备无法识别命令",程序停止.以下是启动端口的代码:

        public LatLongFromGPS(Form1 parent)
    {
        this.parent = parent;
        String port;
        this.SPort = new SerialPort(port, 4800);
        this.SPort.ReadTimeout = 500;
        this.SPort.DataReceived += new SerialDataReceivedEventHandler(dataReceived);
    }

    public bool checkIfPortsOpen()
    {
        return (this.SPort.IsOpen);
    }

    public void openPort()
    {
        try
        {
            if (!this.SPort.IsOpen)
            {
                this.SPort.Open();
            }
        }
        catch(Exception ex)
        {
            parent.LoggIt.WriteLogg("OPENPORT " + ex.ToString(), Logger.LoggType.Debug);
        }
    }

    public void dataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        try
        {
            if (SPort.IsOpen)
            {
                String GPGGAString;
                Thread.CurrentThread.Join(200);
                buffert = new char[this.SPort.BytesToRead];
                this.SPort.Read(buffert, 0, buffert.Length);
                GPGGAString = findStringFromGPS();
                if (GPGGAString != …
Run Code Online (Sandbox Code Playgroud)

c# serial-port ioexception

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