javascript实现动态导入js与css等静态资源文件的方法

javascript实现动态导入js与css等静态资源文件的方法,第1张

本文实例讲述了javascript实现动态导入js与css等静态资源文件的方法。分享给大家供大家参考。具体实现方法如下:

/**

*

动态导入静态资源文件js/css

*/

var

$import

=

function(){

return

function(rId,

res,

callback){

if(res

&&

'string'

==

typeof

res){

if(rId){

if($($('#'

+

rId),

$('head')).length>0){

return

}

}

//加载资源文件

var

sType

=

res.substring(res.lastIndexOf('.')

+

1)

//

支持js/css

if(sType

&&

('js'

==

sType

||

'css'

==

sType)){

var

isScript

=

(sType

==

'js')

var

tag

=

isScript

?

'script'

:

'link'

var

head

=

document.getElementsByTagName('head')[0]

//

创建节点

var

linkScript

=

document.createElement(tag)

linkScript.type

=

isScript

?

'text/javascript'

:

'text/css'

linkScript.charset

=

'UTF-8'

if(!isScript){

linkScript.rel

=

'stylesheet'

}

isScript

?

linkScript.src

=

res

:

linkScript.href

=

res

if(callback

&&

'function'

==

typeof

callback){

if

(linkScript.addEventListener){

linkScript.addEventListener('load',

function(){

callback.call()

},

false)

}

else

if

(linkScript.attachEvent)

{

linkScript.attachEvent('onreadystatechange',

function(){

var

target

=

window.event.srcElement

if

(target.readyState

==

'complete')

{

callback.call()

}

})

}

}

head.appendChild(linkScript)

}

}

}

}()

希望本文所述对大家的javascript程序设计有所帮助。

示例是在主工程SwiftTest的子工程Home里进行。

因为iOS框架中没有Bundle,所以要在macOS中创建Bundle。

将资源文件(如图片、xib文件)拖入刚创建的Bundle文件夹下。新创建xib时可以直接创建到Bundle文件夹目录下。

1.修改Base SDK为iOS

2.iOS Deployment Target改为需要支持的最低版本

注意:

可以不用修改Deployment版本,但是不修改的话,后续如果使用手动编译、且在真机上进行编译,则可能会报Deployment Target不匹配的错。

3.Enable Bitcode设置为No,其中只放资源文件,否则编译会报错

在Scheme中选择Bundle作为target、设备选Any iOS Device或者具体真机进行编译,不先编译的话,使用的时候会报错。

注意:

1.在动态库Target的Copy Bundle Resources、Dependencies中添加Bundle。

注意:

2.使用xib

3.使用图片

在 VS 中添加的资源文件不能在运行时修改是只读的,读取该资源文件中的数据代码如下(生成 *** 作必须是“嵌入的资源”):

ResourceManager rm = new ResourceManager(typeof(Resource1)) // typeof 里面是资源的名称,不要加 resx 扩展名,不要加双引号

string value = rm.GetString("关键字") // 获取字符串类型的资源数据

object obj = rm.GetObject("关键字") // 获取对象类型的资源数据(如:图片,需强制类型转换)

Stream stream = rm.GetStream("关键字")// 获取流类型的资源数据(如:文件)

要创建可读写的资源,必须通过代码来完成, *** 作资源的代码,会在磁盘生成一个资源文件,通常使用扩展名是 resources 类型(扩展名有程序员定义),代码如下:

ResourceWriter rw = new ResourceWriter("资源文件的名称.resources")

rw.AddResource("aaaa", "1345")// 添加数据

rw.Generate() // 保存

要读取磁盘上的资源文件,请使用 ResourceReader 类,由于比较简单这里就不贴出代码了,详细可以参考 MSDN 文档


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11759055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存