精华内容
下载资源
问答
  • 网站适配IE浏览器的几个注意事项

    万次阅读 多人点赞 2020-06-16 16:25:50
    网站适配IE浏览器的几个注意事项 注意事项目录网站适配IE浏览器的几个注意事项1、ajax请求date数据格式:2、部分js插件需要引入对应的js文件才能生效2、判断不同浏览器内核后使用对应的方法2、IE浏览器常见报错1)、...

    网站适配IE浏览器的几个注意事项

    1、ajax请求date数据格式:

    错误示范

    $.ajax({
            url: 'url',
            type: 'POST',
            data: {
                data: "data",
            },
            success: function (e) {
            }        
    })
    

    正确示范(最后一个date值不能有“,”)

    $.ajax({
           url: 'url',
           type: 'POST',
           data: {
               data: "data"
           },
           success: function (e) {
           }        
    })
    

    2、部分js插件需要引入对应的js文件才能生效

    例如:sweetalert弹框插件,在IE浏览器正常运行,需要引入promise.auto.js,在chorme浏览器则不需要
    IE正常使用该插件有两种方法:
    1、cdn地址:https://cdn.bootcss.com/es6-promise/4.1.1/es6-promise.auto.js
    2、以下代码不会与IE11一起运行:

    swal({
        title: 'Are you sure?',
        text: "You won't be able to revert this!",
        type: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#3085d6',
        cancelButtonColor: '#d33',
        confirmButtonText: 'Yes, delete it!'
    }).then((result) => {
       if (result.value) {
         swal(
           'Deleted!',
           'Your file has been deleted.',
           'success'
         )
       }
    })
    

    解决此问题的简单方法是使用 function() 语法而不是 () =>

    swal({
        title: 'Are you sure?',
        text: "You won't be able to revert this!",
        type: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#3085d6',
        cancelButtonColor: '#d33',
        confirmButtonText: 'Yes, delete it!'
    }).then(function(result) {
       if (result.value) {
         swal(
           'Deleted!',
           'Your file has been deleted.',
           'success'
         )
       }
    })
    

    2、判断不同浏览器内核后使用对应的方法

    var ie = navigator.userAgent.match(/MSIE\s([\d.]+)/),
    	ie11 = navigator.userAgent.match(/Trident\/7.0/) && navigator.userAgent.match(/rv:11/),
        ieEDGE = navigator.userAgent.match(/Edge/g),
        ieVer = (ie ? ie[1] : (ie11 ? 11 : (ieEDGE ? 12 : -1)));
        console.log('excelFileie:' + ie);
        console.log('excelFileieVer:' + ieVer);
        if (ie && ieVer < 10) {
            this.message.error('No blobs on IE<10');
            return;
        }
        if (ieVer > -1) {
        //IE
        } else {
    	//chorme
    	}
    

    2、IE浏览器常见报错

    1)、无效字符:

    原本是:

    `string text ${expression} string text`
    

    修改为

    "string text "+expression+" string text"
    
    2)、js导出excel文件,传递给系统调用的数据区域太小:

    IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。

    function downloadFile(title, data) {
    		        const blob = new Blob([data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;'});
    		        const ie = navigator.userAgent.match(/MSIE\s([\d.]+)/),
    		            ie11 = navigator.userAgent.match(/Trident\/7.0/) && navigator.userAgent.match(/rv:11/),
    		            ieEDGE = navigator.userAgent.match(/Edge/g),
    		            ieVer = (ie ? ie[1] : (ie11 ? 11 : (ieEDGE ? 12 : -1)));
    		        console.log('ie:' + ie);
    		        console.log('ieVer:' + ieVer);
    		        if (ie && ieVer < 10) {
    		            this.message.error('No blobs on IE<10');
    		            return;
    		        }
    		        if (ieVer > -1) {
    		            window.navigator.msSaveBlob(blob, title);
    		        } else {
    		            const url = window.URL.createObjectURL(blob);
    		            let link = document.createElement('a');
    		            link.setAttribute('href', url);
    		            link.setAttribute('download', title);
    		            document.body.appendChild(link);
    		            link.click();
    		            document.body.removeChild(link);
    		        }
    		    }
    
    3)、InvalidCharacterError
    //创建HTML元素的js代码, 例如ajaxfileupload.js, 行10 字符17代码:
    
    var io = document.createElement("<iframe id='" + frameId + "' name='" + frameId + "' />");
    //以上代码在IE10下报如下错误:
    //SCRIPT5022: InvalidCharacterError
    //解决办法,改成如下兼容写法:
    var io=document.createElement("iframe");
    io.id=frameId;
    io.name=frameId;
    //以上代码出至  ajaxfileupload.js, 行10 字符17  使用ajaxfileupload.js需把此行更改成上面那样,才能在IE10正常运行。
    
    展开全文
  • C++中strcpy()函数和strcpy_s()函数的使用及注意事项

    万次阅读 多人点赞 2018-09-04 12:55:18
    在编写C++程序时,不可避免会遇到strcpy()函数和...所以这里来简略说一下strcpy()函数和strcpy_s()函数的使用及注意事项。 首先,我们知道原函数strcpy()函数和安全版本strcpy_s()函数都是存在于头文件&lt;cstr...

    在编写C++程序时,不可避免会遇到strcpy()函数和其安全版本strcpy_s()函数,其实之所以会推出_s版本的函数,就是为了使编程更加安全,然而为了保证安全,也就会更容易使我们编写的代码“被报错”。所以这里来简略说一下strcpy()函数和strcpy_s()函数的使用及注意事项。

    首先,我们知道原函数strcpy()函数和安全版本strcpy_s()函数都是存在于头文件<cstring>中的,所以程序一开始必须要有以下语句:

    #include <cstring>

    其次,原函数strcpy()函数是存在于标准名称空间std中的成员,所以要使用strcpy()函数,还需要加上以下语句:

    using namespace std;

    或者:

    using std::strcpy;

    或者在每次使用strcpy()函数时,前面加上名称空间:

    std::strcpy(str1, str2);

    但是对于最新的编辑器,往往你正常使用strcpy()函数,还是会报错,例如下面这个简单的例子:

    // strcpy.cpp -- test the strcpy function and strcpy_s function
    
    #include "stdafx.h"
    #include <iostream>
    #include <cstring>
    
    
    int main()
    {
        char str1[20];
        char str2[20];
        std::cout << "Please enter str2: ";
        std::cin.get(str2, 20);
        std::strcpy(str1, str2);
        std::cout << "str1 is " << "\" " << str1 << "\".\n";
        system("pause");
        return 0;
    }

    正常来说,语法上没有任何问题,但是运行时,Visual Studio 2017 会报错,显示如下:

    意义很简单,就是告诉你,strcpy()函数不安全,必须改为使用strcpy_s()函数,首先不管改成strcpy_s()函数之后会发生什么后续问题,其实从理论上来说,上面的代码语法上和逻辑上来说都是对的,那么怎么避免编辑器强制要求你使用安全版本呢?

    其实解决方法有很多,单单是避免上图中的错误代码4996的情况,可以使用编辑器的选择性提供warning功能,在include语句前面加上下句:

    #pragma warning( disable : 4996)

    但是这种解决方法有时候不能解决问题,例如VS2017我就试过好像不行,那么我们就索性关闭warning功能就好了,完成这个任务的方法是在#include<stdio.h>的前面加上一句,如下所示:
     

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>

    VS2017里面,这句应该是加在头文件“stdafx.h”里面。

    加完之后,再次运行相同的程序,就可以正常运行了,显示结果如下图所示:

    那么解决了不使用安全版本的问题,接下来就来说一下使用安全版本的情况。

    如果我们选择相信编辑器,那么我们就会把strcpy()函数改成使用strcpy_s()函数,改完之后运行首先会遇到以下错误:

    这是因为之前使用strcpy()函数时,我们知道该函数是标准名称空间std的成员,而安全版本strcpy_s并不是该名称空间的成员,所以“std::”应该被去掉,去掉之后再次运行,就会正常运行了。

    但是有时候,编辑器在你去掉“std::”还是会出现错误,错误说明是:1.没有与参数列表匹配的 重载函数"strcpy_s"实例;2."strcpy_s":函数不接受2个参数。

    如下图所示:

    这是因为strcpy_s()函数是有两个版本,用两个参数、三个参数都可以,只要可以保证缓冲区大小。
    三个参数时:
    errno_t strcpy_s( 
    char *strDestination, 
    size_t numberOfElements, 
    const char *strSource 
    );
    两个参数时:
    errno_t strcpy_s( 
    char (&strDestination)[size], 
    const char *strSource 
    ); // C++ only 

    所以,若我们使用new来分配储存空间时,就会出现上面说的不能保证缓冲区大小的问题了

    看下面的代码:
     

    char * str;
    str = new char[4];
    strcpy_s(str, "C++");

    语法来说没有什么问题,但是因为str的储存空间是使用new临时分配的,所以并不能保证缓冲区大小,点击运行就会出现上述的两种错误了。

    这种情况的解决方法其实很简单,那就是不符合2个参数的版本就使用3个参数的版本呗。在两个str之间,加上一个参数,标识长度。

    所以完整代码如下:

    // strcpy.cpp -- test the strcpy function and strcpy_s function
    
    #include "stdafx.h"
    #include <iostream>
    #include <cstring>
    
    
    int main()
    {
        char str1[20];
        char str2[20];
        std::cout << "Please enter str2: ";
        std::cin.get(str2, 20);
        strcpy_s(str1, str2);
        std::cout << "str1 is " << "\"" << str1 << "\".\n";
        char * str;
        str = new char[20];
        strcpy_s(str, strlen(str1)+1, str1);
        std::cout << "str is " << "\"" << str << "\".\n";
        system("pause");
        return 0;
    }

    这里分别使用了2个参数和3个参数的strcpy_s()函数版本。

    后面使用3个参数的版本时,一般的做法就是将长度定为被复制的字符串长度+1,因为strlen()返回字符串长度,但是不包括字符串末尾的空字符,所以+1。

    上述代码运行结果如下图所示:

    以上就是strcpy()函数和strcpy_s()函数的基本使用和注意事项了,希望对大家有所帮助~

    展开全文
  • C#使用Winfrom编程时的注意事项

    万次阅读 2018-10-06 10:20:20
    C#使用Winfrom编程时的注意事项 C#让窗体不能被修改大小 FormBorderStyle = FormBorderStyle.FixedSingle; 让窗体在屏幕中心显示: this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; ...

    C#使用Winfrom编程时的注意事项

    C#让窗体不能被修改大小

     FormBorderStyle = FormBorderStyle.FixedSingle;
    

    让窗体在屏幕中心显示:

    this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
    

    关闭最大化功能:

    this.MaximizeBox = false;
    

    关闭最小化功能:

    this.MinimizeBox = false;
    

    让组件可以被多线程修改:

    System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
    

    发送httpd请求:

      ·HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri(@"url地址"));
       req.Method = "协议";
       req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0";
       req.ContentType = "application/x-www-form-urlencoded";
       req.Accept = "application/json";
       req.Referer = "http://www.kdjz.com/";
       string result = "";
    
       StringBuilder builder = new StringBuilder();
       builder.AppendFormat("{0}={1}", "phone", textBox1.Text);
       builder.Append("&");
       builder.AppendFormat("{0}={1}", "password", textBox2.Text);
    
       byte[] data = Encoding.UTF8.GetBytes(builder.ToString());
       req.ContentLength = data.Length;
       using (Stream reqStream = req.GetRequestStream())
       { reqStream.Write(data, 0, data.Length); reqStream.Close(); }
       HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
       Stream stream = resp.GetResponseStream();
       //获取响应内容         
       using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
       { result = reader.ReadToEnd(); }
                       
    

    开启多线程执行函数:

     Thread thread1 = new Thread(new ThreadStart(StartSomeWorkFromUIThread));
                    Thread thread2 = new Thread(new ThreadStart(GetMessage));
                    thread1.IsBackground = true;
                    thread1.Start();
    

    定义动态string数组:

    private List<string> Have_Gotton_User_Name = new List<string>();
    
    展开全文
  • CSDN博客注意事项

    千次阅读 2020-02-09 10:43:16
    CSDN博客注意事项

     


    1 图片宽度设置

     

     

     

     

    展开全文
  • 算法比赛注意事项

    万次阅读 2019-03-14 20:29:34
    算法比赛注意事项
  • 递归注意事项

    千次阅读 2018-03-19 21:09:56
    A:递归概念和注意事项 * a: 递归概念 * 递归,指在当前方法内调用自己的这种现象 * 递归分为两种,直接递归和间接递归 * 直接递归称为方法自身调用自己。间接递归可以A方法调用B方法,B方法调用C方法,C方法...
  • mui开发注意事项 Mui HTML5开发框架 mui是一个高性能的HTML5开发框架,从UI到效率,都在极力追求原生体验;这个框架自身有一些规则,刚接触的同学不很熟悉,特总结本文;想了解mui更详细的信息,请访问mui官网。 DOM...
  • Shell数组添加元素注意事项

    万次阅读 2019-02-12 20:16:24
    数组添加元素注意事项总结
  • makeblastdb注意事项

    千次阅读 2017-01-17 11:23:53
    makeblastdb注意事项本地blast,需要自行构建数据库。那么就要用到makeblastdb。这个命令很简单。USAGE makeblastdb [-h] [-help] [-in input_file] [-input_type type] -dbtype molecule_type [-title database_...
  • IDEA rename 注意事项

    千次阅读 2019-01-17 10:21:36
    IDEA rename注意事项 假设我要修改user文件夹的名字为userInfo 但是我已修改,可能会有很多的文件无缘无故的被修改了 所以这个时候,你应该点击preview 右键,remove你不想被影响或者被修改的文件 然后再 点击 Do ...
  • SetBitmap注意事项

    千次阅读 2016-10-27 11:37:41
    SetBitmap的注意事项:动态加载位图hBmpx = (HBITMAP)LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_TREADY), IMAGE_BITMAP,0,0, LR_LOADMAP3DCOLORS); hold = ((CStatic *)GetDlgItem(IDC
  • JAVA 代码连接 MySQL 注意事项

    千次阅读 2019-08-11 15:40:51
    java代码连接 MySQL 注意事项
  • pyinstaller打包注意事项

    千次阅读 2020-01-13 08:52:56
    pygame打包注意事项 pyinstaller打包游戏的方法: 1.在命令窗口安装pyinstaller ->pip install pyinstaller 2.查看安装的版本信息 pyinstaller -v 3.进入需要打包的文件的路径下 ->pyinstaller -F -w main.py ...
  • OPC取数OPCAutomation.dll的使用以及注意事项

    万次阅读 热门讨论 2016-11-22 15:00:36
    OPC取数OPCAutomation.dll的使用以及注意事项,项目使用的是Winform+C#,从美卓maxDNA OPCServer取数,接口机系统是Win7,工控机是Win Server2003,
  • Masonry注意事项: 解决吴用masonry的bug; 1 如果只设置宽度,或者高度,使用以下语句: make.height.mas_equalTo(20); 不可使用:make.size.height.mas_equalTo(20); 否则xcode报错(Will attempt to recover...
  • ChannelInboundHandlerAdapter 使用注意事项
  • c语言gets注意事项

    千次阅读 多人点赞 2019-03-12 21:13:23
    关于getline()与gets()的注意事项 此两个函数都是用来读取一行字符串的,遇到换行符认为读行结束并把换行符从缓冲区读取然后丢掉 对于scanf(),如果读取%c,那么空格和换行符都会读取,如果是其他的数据类型,例如为...
  • Unity3D开发注意事项

    千次阅读 2016-10-18 15:46:06
    Unity开发注意事项,涉及资源/NGUI/C#/Lua等方面细节。
  • TS注意事项

    千次阅读 2010-11-04 21:42:05
    TS注意事项
  • AD原理图绘制注意事项 PCB不同的板层 一开始接触PCB就被PCB那么多的板层给吓到了,但是看了许多视频之后发现,只用到了2-3个板层,方便起见,还是把各个板层的解释说明放在下方 PCB板绘制步骤 规则设置 ...
  • 服务器维护注意事项

    千次阅读 2018-11-23 21:48:45
    服务器维护注意事项 远程服务器不能关机只能重启 重启时应该关闭服务 不要在服务器访问高峰运行或者高负载运行 远程配置防火墙时不要把自己提出服务器 指定合理的密码规范并定期更新 合理分配权限 定期备份...
  • CH340电路设计注意事项

    万次阅读 多人点赞 2017-04-13 17:33:57
    在前面两篇博客提到了CH340的电路设计以及芯片选型,本文将重点放在使用CH340芯片进行电路设计的一些细节与注意事项。 电压匹配问题 CH340 芯片通过 USB 转换出来的 TTL 串口输出和输入电压是根据芯片供电电压是...
  • 蓝桥杯(Java)注意事项

    万次阅读 多人点赞 2018-02-25 09:17:42
    蓝桥杯Java注意事项 常用技巧 输入输出 字符串操作 Java数组基本操作 数据格式化 eclipse快捷键 编程技巧 蓝桥杯Java注意事项 类名称必须采用public class Main方式命名 整数之间的运算为整数。 int的取值...
  • paypal支付注意事项

    千次阅读 2018-07-06 17:33:07
    公司做出口业务自营网站需要使用paypal支付,最开始一脸懵逼从没有接触过paypal,后来看官网和其它博客加上自己慢慢摸索,实战得出以下注意事项。1.Q:我的账号的appId和secret在哪里获取?A:首先要接paypal得有个...
  • 使用SVN注意事项

    千次阅读 2015-12-15 13:57:46
    iOS 开发中svn的使用以及注意事项
  • ansys安装注意事项

    千次阅读 2019-03-13 22:15:00
    在安装ansys中经常出现问题,折腾完以后总结了几条注意事项。 系统盘“用户”文件夹文件名要为英文,即为“users”。 如果该文件夹不是英文,更改方法如下: 查看-显示/隐藏-勾选隐藏的项目。 如未出现“desktop....
  • 2019年美赛注意事项

    千次阅读 2019-01-24 11:13:25
    一.流程 1.注意队友信息 2.检查指导老师信息、及自己所在的地址 ...邮件提交及文件注意事项 1.要注意邮件的主题 2.文件的格式 3.所要提交文件的命名 4.提交的文件为pdf格式 5.注意提交的时间...
  • MFC使用sleep函数注意事项

    千次阅读 2019-03-14 10:44:14
    MFC使用sleep函数注意事项
  • TVS参数、选型、使用注意事项

    千次阅读 多人点赞 2019-11-05 13:32:24
    本博客主要讲述TVS的参数和使用注意事项
  • 写iOS SDK注意事项

    千次阅读 2016-07-15 21:04:30
    写iOS SDK注意事项  发表于 2015-01-31 21:44 文章目录 1. 注意事项一:所有类名都应该加前缀2. 注意事项二:所有 category 方法加前缀3. 注意事项三:不要将第三方库打包进 SDK4. 注意事项四:做基本的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 145,333
精华内容 58,133
关键字:

注意事项