6.7.0 - Alpha - 修复 XML 语法 this 对象可能出现指向错误的问题

This commit is contained in:
SuperMonster003
2025-06-08 20:11:21 +08:00
parent 7b00faceb3
commit b9f543136c
2 changed files with 2 additions and 7 deletions

View File

@@ -6,6 +6,7 @@
"zip 模块, 用于文件压缩与解压缩操作 (Ref to [Auto.js Pro](https://g.pro.autojs.org/)) (参阅 项目文档 > [Zip](https://docs.autojs6.com/#/zip))" "zip 模块, 用于文件压缩与解压缩操作 (Ref to [Auto.js Pro](https://g.pro.autojs.org/)) (参阅 项目文档 > [Zip](https://docs.autojs6.com/#/zip))"
], ],
"fix": [ "fix": [
"使用 XML 语法将 JavaScript 表达式作为属性值时, this 对象可能出现指向错误的问题",
"版本历史页面部分系统因字体差别导致统计数据显示不完整的问题" "版本历史页面部分系统因字体差别导致统计数据显示不完整的问题"
], ],
"improvement": [], "improvement": [],

View File

@@ -24,10 +24,6 @@ import org.autojs.autojs.extension.AnyExtensions.isJsNullish
import org.autojs.autojs.extension.AnyExtensions.jsBrief import org.autojs.autojs.extension.AnyExtensions.jsBrief
import org.autojs.autojs.extension.AnyExtensions.jsSanitize import org.autojs.autojs.extension.AnyExtensions.jsSanitize
import org.autojs.autojs.extension.AnyExtensions.jsUnwrapped import org.autojs.autojs.extension.AnyExtensions.jsUnwrapped
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
import org.autojs.autojs.extension.FlexibleArray.Companion.component3
import org.autojs.autojs.extension.FlexibleArray.Companion.component4
import org.autojs.autojs.extension.ScriptableExtensions.defineProp import org.autojs.autojs.extension.ScriptableExtensions.defineProp
import org.autojs.autojs.extension.ScriptableExtensions.prop import org.autojs.autojs.extension.ScriptableExtensions.prop
import org.autojs.autojs.rhino.ProxyObject.Companion.PROXY_GETTER_KEY import org.autojs.autojs.rhino.ProxyObject.Companion.PROXY_GETTER_KEY
@@ -718,9 +714,7 @@ class UI(private val scriptRuntime: ScriptRuntime) : AugmentableProxy(scriptRunt
private fun bindValueForApplyingAttribute(scriptRuntime: ScriptRuntime, value: String): String { private fun bindValueForApplyingAttribute(scriptRuntime: ScriptRuntime, value: String): String {
val ctx = scriptRuntime.ui.bindingContext ?: return value val ctx = scriptRuntime.ui.bindingContext ?: return value
val niceCtx = ctx as? Scriptable val niceCtx = Context.toObject(ctx, ctx as? Scriptable ?: scriptRuntime.topLevelScope)
?: Context.javaToJS(ctx, scriptRuntime.topLevelScope) as? Scriptable
?: scriptRuntime.topLevelScope
var tmp = value var tmp = value
var i = -1 var i = -1
while (tmp.indexOf("{{", i + 1).also { i = it } >= 0) { while (tmp.indexOf("{{", i + 1).also { i = it } >= 0) {