精华内容
下载资源
问答
  • 2018-08-07 18:48:01

    外部依赖项:程序中包含的头文件中所用到的头文件

    资源文件:除了代码之外所需的其他如图片,菜单,工具栏等

    更多相关内容
  • svgomg 没有外部资源的完成文件夹(无Google字体,无Google Analytics)
  • unity读取外部资源

    千次阅读 2020-08-04 12:02:09
    所以自然而然地产生了动态读取这些文件的需求,比如csv、xml等,不管是用什么系统做Unity的开发,如果想要实现这种效果,显然要先在编辑器中实现基本的功能,然后再去各个移动平台去测试,所以要读取外部文件的第一...
    1.在编辑器中动态读取文件

    在实际的游戏开发中,其实有相当一部分的静态数据是可以放在客户端的,所以自然而然地产生了动态读取这些文件的需求,比如csv、xml等,不管是用什么系统做Unity的开发,如果想要实现这种效果,显然要先在编辑器中实现基本的功能,然后再去各个移动平台去测试,所以要读取外部文件的第一步,显然要再电脑端实现这个共嫩南瓜(编辑器)
    下面举一个读取xml的例子-----读取xml文件并动态生成一个类

    举例:

    <?xml version="1.0" encoding="UTF-8"?>
    <test>
      <name>chenjd</name>
      <blog>http://www.cnblogs.com/murongxiaopifu</blog>
      <organization>Fanyoy</organization>
      <age>25</age>
     </test>
    

    这是我们要加载的xml文件
    将这个文件放在任意地方,通过指定地址,将其读取

    public class Test2 : MonoBehaviour
    {
        // Start is called before the first frame update
        void Start()
        {
            XElement result = LoadXML("Assets/xml-to-egg/Test.xml");
            Debug.Log(result.ToString());
        }
    
        private XElement LoadXML(string v)
        {
            XElement xml = XElement.Load(v);
            return xml;
        }
    
        // Update is called once per frame
        void Update()
        {
            
        }
    }
    
    

    读取效果如下:
    在这里插入图片描述
    待考虑的问题
    1.不规范的地址,如果地址参数如上写,跨平台一定不对,出现的问题就是再移动端的Unity中找不到目标文件夹
    2.使用的是电脑上传统的读取资源的做法,没有使用unity提供的方法,可能会找到文件,但是不一定能正确读取文件内容
    以上是可能导致造成一东莞读取资源失败的原因,接下来先看一下第一个问题(关于不同移动平台上的资源路径问题)

    2.移动平台的资源路径问题

    我们知道,如果你想要读取一个文件,自然要找到这个文件,下表是unity中资源路径以及他们的介绍

    unity3D中的路径介绍
    Application.dataPath用于返回程序的数据文件所在的文件及的路径
    Application.streamingAssetsPath用于返回流数据的缓存目录,返回路径为相对路径
    Application.persistentDataPath用于返回一个持久化的数据储存目录的路径,可以在此路径下储存一些持久化的数据文件
    Application.temporaryCachePath返回临时数据的缓存目录
    Android平台具体路径
    Application.dataPath/data/app/xxx.xxx.apk
    Application.streamingAssetsPathjar:file:///data/app/xxx.xxx.apk/!assets
    Application.persistentDataPath/data/data/xxx.xxx.xxx/files
    Application.temporaryCachePath/data/data/xxx.xxx.xxx/cache
    IOS平台具体路径
    Application.dataPathApplication/xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx.app/Data
    Application.streamingAssetsPathxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx.app/Data/Raw
    Application.persistentDataPathxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx/Documents
    Application.temporaryCachePathxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx/Library/Caches

    是不是感觉很奇怪,我们知道再Unity编辑器中默认的资源文件存放路径就是Assets,怎么会出来这么多路径呢?
    要解决这个疑问,先来看看unity中资源处理种类
    再unity中涉及到的资源位置有以下几个类----------Resources、StreamingAssets、AssetBundle、PersistentDataPath
    Resources:作为unity的保留文件夹出现的,也就是说,如果你创建的文件夹的名字与这个名字重名,那么在打包的时候里面的内容同要会被无条件的打包到发布包中,其特点有:
    1.只读(不能修改)
    2.会将文件夹中的内容打包集成到.assets中,建议放一些Prefab
    3.主线程加载
    4.资源读取用Resources.load()

    StreamingAssets:与Resources很像,同样作为保留文件夹出现,但是不同的是,前者会被压缩和加密,erStreamingAssets不会,它主要用来放一些二进制文件,特点如下
    1.只读不可写
    2主要存放二进制文件
    只能用WWW类来读取

    AssetBundle:简而言之就是把Prefab或者二进制文件封装成AssetBundle文件(也是一种二进制)需要注意的是在移动端无法更新脚本
    特点如下:
    1.unity定义的二进制类型
    2.最好将Prefab分装成AssetBundle,但是刚才说移动端无法更新脚本又是怎么回事?只要这个prefab上面挂载的是本地脚本是可以的
    3.使用www加载

    persistentDataPath:看上去它 就是一个路径,实际上在在这个路径下是可读可写的
    特点:内容可读可写,不过只能运行时才能写入或者读取,提前将数据存入这个路径是不行的
    2.无内容限制,你可以从StreamingAsset中读取二进制文件就或者从AssetBundle读取文件来写入这里
    3.写下的文件是可以在电脑上查看,同样可以清理掉

    介绍完这几个资源处理种类下面举几个例子来实现读取外部资源的过程

    1.利用Resources读取
    在unity中创建文件夹Resources,将Test.xml复制一份,通过Respurces读取
    代码如下

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Xml;
    using UnityEngine;
    
    public class Test3 : MonoBehaviour
    {
        private string _result;
        // Start is called before the first frame update
        void Start()
        {
            LoadXML("Test");
        }
    
        private void LoadXML(string v)
        {
            _result = Resources.Load(v).ToString();
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(_result);
        }
    
        private void OnGUI()
        {
            GUIStyle titlestyle = new GUIStyle();
            titlestyle.fontSize = 20;
            titlestyle.normal.textColor = new Color(0, 1, 1);
            GUI.Label(new Rect(400, 10, 500, 20), _result, titlestyle);
        }
    
        // Update is called once per frame
        void Update()
        {
            
        }
    }
    
    

    绘制结果如下
    在这里插入图片描述
    2.利用StreamingAssets
    创建StreamingAssets文件夹,并将xml文件复制一份
    加载代码

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Test4 : MonoBehaviour
    {
        string _result;
        // Start is called before the first frame update
        void Start()
        {
            StartCoroutine(LoadXML());
        }
        IEnumerator LoadXML()
        {
            string sPath = Application.streamingAssetsPath + "/Test.xml";
            WWW wWW = new WWW(sPath);
            yield return wWW;
            _result = wWW.text;
        }
        private void OnGUI()
        {
            GUIStyle titlestyle = new GUIStyle();
            titlestyle.fontSize = 20;
            titlestyle.normal.textColor = new Color(0, 1, 1);
            GUI.Label(new Rect(400, 10, 500, 20), _result, titlestyle);
        }
        // Update is called once per frame
        void Update()
        {
            
        }
    }
    
    

    上文说过,必须使用www来进行加载,否则会报空异常的错误
    运行结果
    在这里插入图片描述
    利用AssetBundle
    1.创建一个空的Prefab,命名Cube,然后创建一个Cube,将其拉到刚创建好的Prefab
    2.新建一个脚本ExportAssetBundles.cs(代码来自官方文档),保存在Asset/Editor目录下

    //在Unity编辑器中添加菜单  
    [MenuItem("Assets/Build AssetBundle From Selection")]  
    static void ExportResourceRGB2()  
    {  
        // 打开保存面板,获得用户选择的路径  
        string path = EditorUtility.SaveFilePanel("Save Resource", "", "New Resource", "assetbundle");  
      
        if (path.Length != 0)  
        {  
            // 选择的要保存的对象  
            Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);  
            //打包  
            BuildPipeline.BuildAssetBundle(Selection.activeObject, selection, path, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets, BuildTarget.StandaloneWindows);  
        }  
    }  
    

    3.选中预设Cube,运行Build AssetBundle From Selection。这时会弹出一个保存框,将其命名为cube.unity3d(这里为了测试方便,放在c盘。实际项目中,我们是需要将他们放在web服务器,供所有客户端下载更新)
    4.新建一个场景scene1.unity,上面放置几个模型,然后保存
    5.选中该场景,在之前的ExportAssetBundles.cs脚本中添加打包场景的函数,运行Assets->Build Scene,保存为scene1.unity3d(这里为了测试方便,也放在c盘)

    [MenuItem("Assets/Save Scene")]  
    static void ExportScene()  
    {  
          // 打开保存面板,获得用户选择的路径  
        string path = EditorUtility.SaveFilePanel("Save Resource", "", "New Resource", "unity3d");  
      
        if (path.Length != 0)  
        {  
            // 选择的要保存的对象  
            Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);  
            string[] scenes = {"Assets/scene1.unity"};  
            //打包  
            BuildPipeline.BuildPlayer(scenes,path,BuildTarget.StandaloneWindows,BuildOptions.BuildAdditionalStreamedScenes);  
        }  
    }  
    

    a.AssetBundle的保存后缀名可以是assetbundle或者unity3d
    b.BuildAssetBundle要根据不同的平台单独打包,BuildTarget参数指定平台,如果不指定,默认的webplayer

    加载assetbundle

    using System;  
    using UnityEngine;  
    using System.Collections;  
      
    public class Load: MonoBehaviour  
    {  
        private string BundleURL = "file:///C:/cube.assetbundle";  
        private string SceneURL = "file:///C:/scene1.unity3d";  
      
        void Start()  
        {  
            //BundleURL = "file//"+Application.dataPath+"/cube.assetbundle";  
            Debug.Log(BundleURL);  
            StartCoroutine(DownloadAssetAndScene());  
        }  
      
        IEnumerator DownloadAssetAndScene()  
        {  
            //下载assetbundle,加载Cube  
            using (WWW asset = new WWW(BundleURL))  
            {  
                yield return asset;  
                AssetBundle bundle = asset.assetBundle;  
                Instantiate(bundle.Load("Cube"));  
                bundle.Unload(false);  
                yield return new WaitForSeconds(5);  
            }  
            //下载场景,加载场景  
            using (WWW scene = new WWW(SceneURL))  
            {  
                yield return scene;  
                AssetBundle bundle = scene.assetBundle;  
                Application.LoadLevel("scene1");  
            }  
             
        }  
    }  
    

    这样就可以加载外部或者服务器上的资源了

    使用Resources类加载资源
    通过Resources类何以轻易的找到并访问我们想要得到的资源对象,例如使用这个类的FindObjectsTypeAll来获取当前场景中的资源信息
    签名如下

    public static object[] FindObjectsOfTypeAll(Type type)
    

    它只需要返回一个Type类型的参数typr,用来搜寻资源时和获取与type相匹配的类型,并且返回一个Object数组,它能够获取的对象类型包括了Unity3d能够加载的所有资源类型,如游戏对象,预制体、材质、Mesh、贴图等,需要注意的是,这个方法运行消耗较大,不适合每一帧都调用
    举例使用

    private void OnGUI()
        {
            GUILayout.Label("All" + Resources.FindObjectsOfTypeAll(typeof(UnityEngine.Object)));
        }
    

    除了这中用法,还有一个静态方法是Load
    方法签名如下

    public static Object Load(string path);
    public static Object Load(string path, [NotNull] Type systemTypeInstance);
    

    需要注意的是,参数path并非是完整路径,而是先对于当前工程中Assets目录下的Resources文佳佳的路径,第二个参数则是用来作为过滤返回的对象,如果提供了第二个参数,那么只有和type类型相同的对象能够被返回

    void Start () {
            GameObject go = GameObject.CreatePrimitive(PrimitiveType.Plane);
            Renderer rend = go.GetComponent<Renderer>();
            rend.material.mainTexture = Resources.Load("glass") as Texture;
    	}
    

    利用WWW类的构造函数实现资源下载
    www的构造函数有几种重载版本,一般使用的是只有一个string参数的方法,签名如下

    public WWWW(string url)
    

    这里面的string参数标识WWW要从URL所提供的地址下载资源,由于这是WWW的构造函数,一旦资源下载完成,就可以通过类对象访问下载的资源对象,除了创建一个新的WWW类的对象意外,该方法还会创建并发送一个GET请求,紧接着一个数据流会被创建并且开始进行下载,此时必须等待整个下载流程完成,然后才可以通过WWW类的对象访问下载得到的资源对象,而由于数据流可以通过yeild关键字被方便的挂起,所以很方便,举例如下

    public string url = "http://image.earthcam.com/ec_metros/ourcame/fridays.jpg";
    	IEnumerator Start () {
            WWW www = new WWW(url);
            yield return www;
            Image s = this.GetComponent<Image>();
            Sprite sprite = Sprite.Create(www.texture,new Rect(0,0,www.texture.width,www.texture.height),new Vector2(0,0));
            s.overrideSprite= sprite ;
            Debug.Log("sucess");
    	}
    

    本文介绍了几种再unity开发过程中,实际再读取外部资源的几种操作,当然还有很多别的方式。

    展开全文
  • 文档与外部资源的关系标签实例链接到外部样式文件:浏览器支持所有主流浏览器都支持 标签。标签定义及使用说明 标签定义文档与外部资源的关系。 标签最常见的用途是链接样式表。注意: link 元素是空元素,它仅包含...

    文档与外部资源的关系标签

    实例

    链接到外部样式文件:

    浏览器支持

    9d05413149bf798432c738b0b4e4540b.gif

    25abe7eff1c2fe4863cd5832855bf859.gif

    3f1faaeb6c81b61870f3870586b11ca8.gif

    e5ead74a146e77a2ea6edabed17b0b90.gif

    0c0e7cc5c71b3f0fd81288bc43f8053a.gif

    所有主流浏览器都支持 标签。

    标签定义及使用说明

    标签定义文档与外部资源的关系。

    标签最常见的用途是链接样式表。

    注意: link 元素是空元素,它仅包含属性。

    注意: 此元素只能存在于 head 部分,不过它可出现任何次数。

    HTML 4.01 与 HTML5之间的差异

    一些 HTML 4.01 属性在 HTML5 中不支持。

    HTML5 新增了 "sizes" 属性。

    HTML 与 XHTML 之间的差异

    在 HTML 中, 标签没有结束标签。

    在 XHTML 中, 标签必须被正确地关闭。

    属性

    New:HTML5 新属性。

    属性

    描述

    char_encoding

    HTML5 不支持该属性。 定义被链接文档的字符编码方式。

    URL

    定义被链接文档的位置。

    language_code

    定义被链接文档中文本的语言。

    media_query

    规定被链接文档将显示在什么设备上。

    alternate

    archives

    author

    bookmark

    external

    first

    help

    icon

    last

    license

    next

    nofollow

    noreferrer

    pingback

    prefetch

    prev

    search

    sidebar

    stylesheet

    tag

    up

    必需。定义当前文档与被链接文档之间的关系。

    reversed relationship

    HTML5 不支持该属性。 定义被链接文档与当前文档之间的关系。

    sizes (New)

    Height x Width any

    定义了链接属性大小,只对属性 rel="icon" 起作用。

    blank

    _self

    _top

    _parent

    _frame_name

    HTML5 不支持该属性。 定义在何处加载被链接文档。

    MIME_type

    规定被链接文档的 MIME 类型。

    全局属性

    标签支持全局属性,查看完整属性表 HTML 全局属性。

    事件属性

    标签支持所有 HTML 事件属性。

    相关文章

    HTML 教程:HTML 样式

    HTML DOM 参考手册:Link 对象

    展开全文
  • VS加载外部资源

    2019-10-17 15:46:56
    VS加载外部资源添加.h所在文件夹添加.lib所在文件夹添加.dll所在文件夹联系链接.dll思考 添加.h所在文件夹 项目右键->属性->配置属性->VC++目录->包含目录 加上相应的文件夹之后,项目会自动去这个...

    环境

    分类版本
    IDEVS2019(其它版本雷同,原理一样)
    语言C++
    系统Win10

    添加.h所在文件夹

    1. 项目右键->属性->配置属性->VC++目录->包含目录
      加上相应的文件夹之后,项目会自动去这个文件夹寻找头文件

    添加.lib所在文件夹

    1. 项目右键->属性->配置属性->VC++目录->库目录
      加上相应的文件夹之后,项目会自动去这个文件夹寻找库文件
    2. 添加代码
      #pragma comment(lib, “静态库文件名”)
      例:#pragma comment(lib, “log4cplusD.lib”)

    添加.dll所在文件夹

    1. 项目右键->属性->配置属性->调试->环境
      格式:path=%path%;.\dll所在文件夹
      解释:.\代表当前项目的路径
      注意:千万不要用绝对路径

    三者的联系

    1. 头文件.h
    编译时寻找声明,检查格式
    2. 静态库文件.lib
    编译时检查是否有相应的定义

    可分为两类如何使用怎么得到的
    包含了完整定义和.h一起使用直接生成的静态库
    仅包含定义的入口定义的实体在.dll中,所以需要和.h和.dll一起使用生成.dll时同时获得

    3. 动态库文件.dll

    使用分类如何使用备注
    隐式链接头文件+静态库联合使用原理参考静态库说明
    显示链接单独使用,无需头文件和静态库代码直接调用,需要函数指针和WIN32 API函数LoadLibrary、GetProcAddress装载

    链接.dll

    #include <windows.h>   //使用函数和某些特殊变量
    typedef void (*DLLFunc)(int);  //即将使用的dll中的函数格式
    int main()
    {
            DLLFunc dllFunc;
            HINSTANCE hInstLibrary = LoadLibrary("DLLSample.dll"); //加载动态库
            
            if (hInstLibrary == NULL)
            {
              FreeLibrary(hInstLibrary);
            }
            dllFunc = (DLLFunc)GetProcAddress(hInstLibrary, "TestDLL"); //加载函数
            if (dllFunc == NULL)
            {
              FreeLibrary(hInstLibrary);
            }
            dllFunc(123); 
            std::cin.get();
            FreeLibrary(hInstLibrary);
            return(1);
    }
    

    思考

    包含文件夹为什么dll在调式里,其它两个在VC++目录
    个人猜测:头文件和静态库在编译时便需要,动态库只有在运行时才需要。编译时寻找的目录在VC++里设置,运行时的目录在调试里设置

    展开全文
  • Resources 资源加载及引入外部资源

    千次阅读 2019-04-07 22:13:15
    加载res中的资源,都是通过getResources()获取的,但是Resources是在什么时候被创建的呢,如何通过Resources获取到对应的资源的呢? XmlResourceParser layout = getResources().getLayout(R.layout.activity_change...
  • 由于上一篇文章中使用了pyinsatll的方式将二维码生成器进行打包成exe程序应用,在打包的过程中遇到了一个问题就是能将外部资源图片打包进exe的应用程序。 所以,在这里记录一下怎么可以将外部资源文件打包到...
  • 使用CMakeLists.txt编译多目录例子,子目录在当前目录外部,本例子演示了如何添加外部目录进行编译
  • COM接口以及测试程序 内容包括: 重组数据 基础修改 获取版本数据等
  • 它能够以多种不同的模式运行以适应不同的需求,并且可以基于Nomad资源指标或外部资源进行扩展。 产品特点 根据Nomad资源消耗和外部指标来缩放作业: Sherpa自动缩放器可以结合使用Nomad资源检查和外部指标值来做出...
  • visio 图片资源

    2020-10-09 03:30:48
    visio 图片资源素材 包括各种服务器、显示器、网络设备、光端机、摄像机、高速球、电脑、建筑物、音频视频设备、矩阵、
  • springboot+thymeleaf项目中需要跳转到静态html,因为html文件内容是可变的,为了线上便于维护,jar包中引入包外部资源。 1、贴下thymeleaf依赖 –引用的是父项目的springboot-dependencies <dependency> &...
  • 外部依赖项:头文件依赖的头文件(非自己定义),主要包含一些外部库。 头文件:.h文件,内含函数声明、宏定义、结构体定义等内容。 源文件:.c或.cpp文件,函数实现,变量定义等内容。 资源文件:图片等程序...
  • 使用CH340C实现可自动烧录USB转TTL设计无需外部晶振额(包括原理图、PCB等)
  • VS资源文件和外部依赖项

    千次阅读 2015-03-26 14:44:27
    比如,你的main函数里面包含了windows.h头文件,而windows.h头文件又包含其他头文件,而这些头文件又可能还包含另外的头文件,所有这些都显示在外部依赖项里面。资源文件主要是你用到的一些程序代码以外的东西
  • springboot对外部静态资源文件的处理

    千次阅读 2019-05-22 17:53:07
    springboot对外部资源文件的处理主要分为2部分,存和取,通过查看官方文件和看博客踩了坑之后终于搞定了,特此记录。 存方面倒还简单,这里贴上一个获取微信临时素材并保存的方法 /** * @功能 下载临时素材接口 ...
  • JAVA加载外部资源

    千次阅读 2015-12-30 09:23:19
    JAVA加载外部资源
  • 关于pyinstaller的安装就说了,说一下打包过程中遇到的问题。 我的项目结构是一个.py文件和四个需读取和保存的txt,csv的外部数据。 打包完成后遇到:no such file …/jieba/dict.txt 在安装pyinstaller文件中找到...
  • Altium Designer内包含了大量网络资源的链接。在Altium Designer中可以直接浏览网页中的内容,还可以通过其它类型的WEB浏览器去查看它们。
  • 1.发现项目中存在的问题 为了直观地发现项目中存在的问题,我们可以在打包时生成报告。...它的作用是什么? 原来,其实默认情况下,项目中我们通过 import 语法导入的第三方依赖包,最终会被打包合并到同一个文...
  • 1.发现项目中存在的问题 为了直观地发现项目中存在的问题,我们可以在打包时生成...它的作用是什么? 原来,其实默认情况下,项目中我们通过 import 语法导入的第三方依赖包,最终会被打包合并到同一个文件中,而这...
  • 安全生产PHP开发能违背的安全规则外部数据提交的处理 规则1绝不要信任外部数据或输入 关于Web应用程序安全性必须认识到的第壹件事是应该信任外部数据外部数据(outsidedata)包括不是由程序员在PHP代码中直接输入...
  • 头文件: 里面是.h文件,包含有函数声明、... 外部依赖项: 不是自己定义,主要包括的是一些外部库 源文件: 主要是.c或.cpp文件,里面包含的是函数实现,变量定义等内容。 资源文件: 图片等程序需要用到的资源 ...
  • 因为 在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部...
  • 资源是51单片机外部中断触发的例程,包括两个例程,一个是电平触发中断的例程,一个是边沿触发中断的例程。两个例程都是采用通道0实现。
  • 如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]了解如何链接至外部网页并在应用中显示这些网页。先决条件我们假设你了解如何创建基本应用。如果你需要相关帮助,请参阅创建你的第一个使用 JavaScrip...
  • 一个计算机网络一般包括资源子网”和“通信子网”两部分。随着计算机网络结构的不断完善,人们从逻辑上把数据处理功能和数据通信功能分开,将数据处理部分称为资源子网,而将通信功能部分称为通信子网。通信子网...
  • vs中项目的外部依赖项是什么意思

    万次阅读 2017-02-20 23:28:46
    外部依赖项就是你工程中显式包含的那些头文件本身所包含的头文件。 vs2010中的项目下拉列表下面有外部依赖项,里面显示的文件是你程序中显示包含的头文件所包含的的头文件。比如,你的main函数里面包含了...
  • android 内存泄漏有一个重要的原因是非静态内部类持有外部类的引用,所以外部类的内存资源一直得到回收,就可能会造成内存泄漏。常见的就是下面的这种创建handler方式: public class MainActivity extends ...
  • ssl 此页中包含其他安全资源

    千次阅读 2018-07-18 21:08:06
    本页不但包含安全的内容,也包含不安全的内容     为什么会出现这种安全提示呢?因为SSL证书对网站代码的安全性要求很高,但许多用户网站中却使用了大量的外链,而这些外部资源(图片或js)正是不安全的因素...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 507,018
精华内容 202,807
关键字:

外部资源不包括什么