/**
*
动态导入静态资源文件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 文档
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)